% Installer: "seagrid_install.m"% Created: 02-Jul-2003 15:51:54.function bund_driver% bund_driver -- Driver for "bund" bundles.%  bund_driver (no arguments) contains Matlab commands%   to inflate the instructions and files that are%   encoded into the "bund_data" function of this package. % Copyright (C) 2001 Dr. Charles R. Denham, ZYDECO.%  All Rights Reserved.%   Disclosure without explicit written consent from the%    copyright owner does not constitute publication. % Version of 14-Jun-2001 10:54:16.% Updated    06-Feb-2003 14:36:58.help(mfilename)v = version;isVersion6 = (v(1) == '6');BINARY_TAG = '?';CR = char(13);LF = char(10);comp = upper(computer);if any(findstr(comp, 'PCWIN'))   % Windows.	NL = [CR LF];elseif any(findstr(comp, 'MAC'))   % Macintosh.	NL = CR;else   % Unix.	NL = LF;endc = zeros(1, 256);c(abs('0'):abs('9')) = 0:9;c(abs('a'):abs('f')) = 10:15;disp([' '])disp([' ## This installer is ready to expand its contents,'])disp([' ## starting in the present directory: "' pwd '"'])disp([' ## To abort, execute an interruption now.'])disp([' ## Otherwise, to continue, press any key.'])disp([' '])try	pausecatch	disp([' ## Installation interrupted.'])	disp([' '])	returnend% eval('pause', 'disp(''Installation interrupted.''), return')ticw = which(mfilename);fin = fopen(w, 'r');if fin < 0, return, endfound = ~~0;while ~found	s = fgetl(fin);	if isequal(s, -1)		fclose(fin);		return	end	s = strrep(s, LF, '');  % Not necessary?	s = strrep(s, CR, '');  % Not necessary?	if isequal(s, 'function bund_data')		found = ~~1;	endendfout = -1;done = ~~0;while ~done	s = fgetl(fin);	if isequal(s, -1)		fclose(fin);		return	end	s = strrep(s, LF, '');  % Not necessary?	s = strrep(s, CR, '');  % Not necessary?	if length(s) > 0		if s(1) ~= '%'			f = findstr(s, 'bund_setdir');			if any(f)				theDir = eval(strrep(s, 'bund_setdir', ''));				[status, msg] = mkdir(theDir);				switch status				case 1                    if isVersion6 & any(msg)					    disp([' ## Directory exists: "' theDir '"'])                    else					    disp([' ## Directory created: "' theDir '"'])                    end				case 2					disp([' ## Directory exists: "' theDir '"'])				otherwise					error([' ## Error while making new directory.'])				end								try					cd(theDir)				catch					error([' ## Unable to go to directory: "' theDir '"'])				end% eval('cd(theDir)', ...%     'disp(theDir), error('' ## Unable to go to directory.'')')			else% 				try% 					eval(s);% 				catch% 					error([' ## Unable to evaluate: "' s '"'])% 				endeval(s, ...    'disp(s), error(''Unable to evaluate statement.'')')			end		elseif length(s) > 1 & s(2) == BINARY_TAG			hx = double(s(3:end));   % Assume hex data.			bin = 16*c(hx(1:2:end)) + c(hx(2:2:end));			fwrite(fout, bin, 'uchar');		else			fprintf(fout, '%s', s(2:end));			fprintf(fout, NL);		end	endendfclose(fin);disp([' ## Elapsed time: ' num2str(fix(10*toc)/10) ' s.'])function bund_databund_setdir('seagrid')disp(' ## Installing: "README.m" (text)')fout = fopen('README.m', 'w');%function README%%help(mfilename)%%%%% ************* Seagrid Tutorial *************%%%%    Start by executing "seagrid" at the Matlab prompt.%% Its many features are described in the "help" entries,%% accessible through the "Seagrid/Help" menu.%%%%    Select a projection by invoking the "View/Setup"%% menu item to display the "SeaGrid Setup" dialog.%% The default is "Mercator".%%%%    The next task is to open a coastline file, if any,%% followed by a bathymetry file, if any.  The required%% formats are given in the "help".  These data will be%% plotted on the current projection.  The plot units%% can be toggled between "Degrees" and "Kilometers"%% by using the "View/Units" menu item.%%%%    Then, four corner-points need to be placed on the map%% by simple clicking.  These points are draggable, so their%% exact placement is not critical.%%%%    Macintosh clicking: #1 = simple click; #2 = shift-click;%% and #3 = option-click.%%%%    Once the four corner-points have been placed, the map%% becomes zoomable, using the "zoomsafe" protocol.  See%% "help zoomsafe".%%%%    To add an edge-point, click on any edge, dragging if%% desired.  As with corner-points, edge-points are draggable%% at any time.  Also, an edge-point can be deleted by clicking%% on it with button #3.  The boundary is displayed with cubic%% splines that pass through the corner-points and edge-points.%%%%    The number of gridlines is adjustable through the "Setup"%% dialog (select the "View/Setup" menu item).%%%%    The grid cell spacing can be manipulated by invoking%% the "View/Spacers" menu item.  Clicking (button #1) and%% dragging a spacer will rearrange the grid lines smoothly%% to mirror how closely spaced the spacers themselves are.%% The number of spacers can be changed with the%% "View/Spacer Count" menu item.%%%%    The default grid cell spacing can be expressed as a%% function through the "View/Default Spacing" menu item.%% The subsequent dialog accepts functions of "s", the%% relative distance [0:1] along each of the two principal%% edges of the boundary.  The beginning of the first%% principal edge is marked by "*", and the boundary always%% runs counter-clockwise always.  This geometry can be rolled%% with the "View/Roll" menu item.%%%%    The current grid can be saved for later retrieval, using%% the "Seagrid/Save" or "Seagrid/Save As" menu items.  The%% most recently saved grid is available through the%% "SeaGrid/Revert To Saved" menu item.%%%%    The grid can be masked with the "Compute/Land Mask" menu,%% to mark those cells whose centers fall on land.  Also, the%% "Mask Tool" can be invoked through the "Compute/Mask Tool"%% menu item to allow manual toggling of the mask.  Finally,%% the "Compute/Erase Mask" menu can be used to erase the%% current mask.%%%%   NOTE: the manual masking changes do not become effective until%% the "Mask Tool" is dismissed by choosing the "Compute/Mask Tool"%% menu item again.%%%%   To convert the saved SeaGrid output to a SCRUM or ECOM file,%% execute "seagrid2scrum" or "seagrid2ecom".  Both routines will%% prompt for filenames if none are provided on the command-line.%% See "help" for each.%%% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.%%%% Version of 05-Aug-1999 14:26:12.%% Updated    23-Jul-2001 13:46:26.%%help(mfilename)fclose(fout);disp(' ## Installing: "busy.m" (text)')fout = fopen('busy.m', 'w');%function Busy(theFigure)%%% Busy -- Set the watch-cursor.%%  Busy(theFigure) sets the watch-cursor in theFigure.%%   The companion routine is "Idle".% %% Copyright (C) 1996 Dr. Charles R. Denham, ZYDECO.%% All Rights Reserved.%%if ~any(findobj('Type', 'figure')), return, end%%if nargin < 1%   theFigure = gcf;%end%%set(theFigure, 'Pointer', 'watch');fclose(fout);disp(' ## Installing: "earthdist.m" (text)')fout = fopen('earthdist.m', 'w');%function theResult = earthdist(alon, alat, blon, blat, radius)%%% earthdist -- Distance in meters between two lon/lats.%%  earthdist(alon, aloat, blon, blat, radius) returns the%%   distance in maters between locations (alon, alat)%%   and (blon, blat).  The default earth radius is%%   assumed to be 6371*1000 meters, the radius for%%   a sphere of equal-volume.%%if nargin < 4, help(mfilename), return, end%if nargin < 5, radius = 6371*1000; end   % meters.%%RCF = 180 / pi;%%alon = alon / RCF;%alat = alat / RCF;%blon = blon / RCF;%blat = blat / RCF;%%c = cos(alat);%ax = c .* cos(alon);%ay = c .* sin(alon);%az = sin(alat);%%c = cos(blat);%bx = c .* cos(blon);%by = c .* sin(blon);%bz = sin(blat);%%result = acos(ax.*bx + ay.*by + az.*bz) .* radius;%%if nargout > 0%	theResult = result;%else%	disp(result)%endfclose(fout);disp(' ## Installing: "fieldrename.m" (text)')fout = fopen('fieldrename.m', 'w');%function theResult = fieldrename(theStruct, varargin)%%% fieldrename -- Rename fields in a "struct".%%  fieldrename(theStruct, 'theFieldName', 'theNewName') renames%%   'theFieldName' to 'theNewName' in theStruct.  The arguments%%   can be entered on the command line without parentheses, in%%   which case, 'theStruct' will be treated as the name of the%%   actual struct in the caller's workspace.  More than one%%   fieldname can be changed during a single call by appending%%   additional fieldname/newname pairs to the argument list.%%   An empty new-name ('') causes that particular field to be%%   eliminated from the structure.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 13-Sep-1999 11:45:49.%% Updated    20-Dec-1999 15:56:48.%%if nargin < 3, return, end%%theStructName = inputname(1);%%if ischar(theStruct)%	theStructName = theStruct;%	theStruct = evalin('caller', theStructName);%end%%update = 0;%%f = fieldnames(theStruct);%g = f;%for j = 1:2:length(varargin)%	theFieldName = varargin{j};%	theNewName = varargin{j+1};%	if isequal(theNewName, '''''') | isequal(theNewName, '[]')%		theNewName = '';%	end%	for i = length(g):-1:1%		if isequal(g{i}, theFieldName)%			if isempty(theNewName)%				g(i) = [];%			else%				g{i} = theNewName;%			end%			update = 1;%			break%		end%	end%end%%if update & length(g) > 0%	result = cell(1, 2*length(g));%	k = 0;%	for i = 1:length(g)%		result{k+1} = g{i};%		result{k+2} = cell(size(theStruct));%		for j = 1:prod(size(theStruct))%			theValue = getfield(theStruct(j), f{i});%			result{k+2}{j} = theValue;%		end%		k = k+2;%	end%	result = struct(result{:});%else%	result = [];%end%%if nargout > 0%	theResult = result;%else%	assignin('caller', theStructName, result)%endfclose(fout);disp(' ## Installing: "fig2jpeg.m" (text)')fout = fopen('fig2jpeg.m', 'w');%function theOutputInfo = fig2jpeg(theFilename, theFigure, theQuality)%%% fig2jpeg -- Save a visible figure in JPEG format.%%  fig2jpeg('theFilename', theFigure, theQuality) saves theFigure%%   (must exist and be visible; default = gcf) to 'theFilename'%%   (default = 'unnamed.jpg'), with theQuality (default = 100).%%   If no filename is given, the Matlab "uiputfile" dialog is%%   invoked.  If an output argument is provided, the "imfinfo"%%   string is returned.% %% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 03-Jan-2000 17:35:28.%% Updated    04-Jan-2000 14:03:25.%%if nargout > 0, theOutputInfo = []; end%%if ~any(findobj('Type', 'figure', 'Visible', 'on'))%	disp(' ## No visible figures.')%	return%end%%if nargin < 1%	[f, p] = uiputfile('unnamed.jpg', 'Save Figure As JPEG:');%	if ~any(f)%		help(mfilename)%		return%	end%	if p(end) ~= filesep, p(end+1) = filesep; end%	theFilename = [p f];%end%if nargin < 2, theFigure = gcf; end%if nargin < 3, theQuality = 100; end%%theOldFigure = gcf;%%figure(theFigure)%[x, map] = getframe(theFigure);%imwrite(x, map, theFilename, 'jpg', 'Quality', theQuality)%%figure(theOldFigure)%%if nargout > 0%	theOutputInfo = imfinfo(theFilename);%endfclose(fout);disp(' ## Installing: "fps.m" (text)')fout = fopen('fps.m', 'w');%function u = fps(p, isSlope)%%% fps -- Fast Poisson solver with boundary values.%%  fps(p) solves laplacian(u) = p for u, assuming the%%   boundary values are given along the perimeter of%%   p and the laplacians are given in the interior.%%  fps(p, isSlope) solves using the perimeter of p%%   as values of slope, if isSlope is logically TRUE.%%  fps([m n]) demonstrates itself with an m-by-n array%%   (default = [20 30]), with an off-center spike.%%%% Note: For the speediest Fourier transform, use a p%%  whose size is a composite of small factors, plus 1,%%  such as 33.%%%% Also see: fpt.% %% Copyright (C) 1998 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.%%% Reference: Press, et al., Numerical Recipes,%%    Cambridge University Press, 1986 and later.% %% Version of 23-Oct-1998 09:02:58.%% Updated    23-Jun-2003 11:58:58.%%if nargin < 1, help(mfilename), p = 'demo'; end%if nargin < 2, isSlope = ~~0; end%%if ischar(isSlope), isSlope = eval(isSlope); end%isSlope == any(isSlope(:));%%if isequal(p, 'demo'), p = [20 30]; end%if ischar(p), p = eval(p); end%if length(p) == 1%	if nargin < 2%		p(2) = p;%	else%		p(2) = isSlope;%	end%end%%if length(p) == 2%	theSize = max(p, 4);%	p = zeros(theSize);%	[m, n] = size(p);%	p(ceil(m/3), ceil(n/3)) = 1;%    if nargout < 1%	    feval(mfilename, p, isSlope);%    else%	    u = feval(mfilename, p, isSlope);%    end%	return%end%%if nargout < 1, tic; end%%% Fold the boundary into the source terms.%%if ~isSlope%	theFactor = -1;   % Boundary-value scheme.%else%	theFactor = +2;   % Boundary-slope scheme.%end%%q = p;%for i = 1:2%	q = q.';%	q(2:end-1, 2:end-3:end-1) = ...%		q(2:end-1, 2:end-3:end-1) + ...%			theFactor * q(2:end-1, 1:end-1:end);%end%%% Extract the interior.%%q = q(2:end-1, 2:end-1);%%% Symmetry: odd if 'value'; even if 'slope'.%%if ~isSlope%	theSign = -1;   % Odd-symmetry, sine-transform scheme.%else%	theSign = +1;   % Even-symmetry, cosine-transform scheme.%end%%[m, n] = size(q);%q = [zeros(m, 1) q zeros(m, 1) theSign*fliplr(q)];%q = [zeros(1, 2*n+2); q; zeros(1, 2*n+2); theSign*flipud(q)];%%% Fast Poisson Transform.  The array q is now twice the size%%  of the original p, minus two elements in each direction.%%  Thus, to invoke a power-of-two Fourier transform, use%%  sizes that themselves are a power-of-two plus one.%%res = fpt(q, 0);%%% Retain relevant piece.%%if ~isSlope%	result = p;%	result(2:end-1, 2:end-1) = res(2:m+1, 2:n+1);%else%	result = res(1:m+2, 1:n+2);%end%%% Output or plot solution.%%if nargout > 0%	u = result;%else%	disp([' ## Elapsed time: ' num2str(toc) ' s.'])%	subplot(2, 2, 1), surf(p), axis tight%	title('Laplacian Data'), xlabel('x'), ylabel('y'), zlabel('p')%	subplot(2, 2, 2), surf(result), axis tight%	title('Poisson Solution'), xlabel('x'), ylabel('y'), zlabel('u')%	subplot(2, 2, 3), plot(p), axis tight%	xlabel('x'), ylabel('p')%	subplot(2, 2, 4), plot(result), axis tight%	xlabel('x'), ylabel('u')%	figure(gcf)%	[m, n] = size(p);%	set(gcf, 'Name',[mfilename ' ' int2str(m) ' ' int2str(n)])%	error_norm = norm( ...%        4*del2(result(2:end-1, 2:end-1)) - ...%        p(2:end-1, 2:end-1));%	disp([' ## Error norm: ' num2str(error_norm)])%endfclose(fout);disp(' ## Installing: "fpt.m" (text)')fout = fopen('fpt.m', 'w');%function u = fpt(p, doInverse)%%% fpt -- Fast Poisson transform.%%  fpt(p) solves laplacian(u) = p, for matrix u,%%   assuming periodic boundary conditions.%%  fpt(p, doInverse) performs the inverse-transform%%   if "doInverse" is logically TRUE.  Default =%%   FALSE.%%%% Also see: fps, fft2, ifft2.% %% Copyright (C) 1998 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.%%% Reference: Press, et al., Numerical Recipes,%%    Cambridge University Press, 1986 and later.% %% Version of 23-Oct-1998 09:02:58.%% Updated    24-Jun-2003 09:12:22.%%if nargin < 1, help(mfilename), return, end%if nargin < 2, doInverse = 0; end%%% Compute Fourier weights.%%[m, n] = size(p);%%i = (0:m-1).' * ones(1, n);%j = ones(m, 1) * (0:n-1);%%weights = 2 * (cos(2*pi*i/m) + cos(2*pi*j/n) - 2);%weights(1, 1) = 1;%%% Solve.%%if ~any(doInverse)%	u = ifft2(fft2(p) ./ weights);%else%	u = ifft2(fft2(p) .* weights);%end%%if isreal(p), u = real(u); endfclose(fout);disp(' ## Installing: "getinfo.m" (text)')fout = fopen('getinfo.m', 'w');%function [theResult, isOkay] = getinfo(theInfo, theField)%%% getinfo -- Get field value from an "Info" struct.%%  getinfo(theInfo, 'theField') returns the current%%   value of 'theField' in theInfo, a struct that%%   is compatible with the "uigetinfo" function.%%   Non-existent fields return the empty-matrix.%%  [theResult, isOkay] = ... returns isOkay = 0%%   if an error occurred; otherwise, non-zero.%%  getinfo(theInfo) returns a struct containing%%   the fields and current selections of theInfo.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Feb-1998 09:45:56.%% Updated    14-Nov-2001 15:07:51.%%if nargout > 0, theResult = []; end%if nargin < 1, help(mfilename), return, end%%% Get current selections, recursively if needed.%%if nargin < 2%	result = theInfo;%	theFields = fieldnames(result);%	isOkay = 1;%	for i = 1:length(theFields)%		[theValue, okay] = getinfo(theInfo, theFields{i});%		isOkay = isOkay & okay;%		switch class(theValue)%		case 'struct'%			[res, okay] = getinfo(theValue);%			isOkay = isOkay & okay;%			result = setfield(result, theFields{i}, res);%		otherwise%			result = setfield(result, theFields{i}, theValue);%		end%	end%	if nargout > 0%		theResult = result;%	else%		disp(result)%	end%	return%end%%% Note: Matlab 6+ does not allow "getfield(a, 'b.c')",%%  unlike previous versions.  We need to parse the%%  'b.c' ourselves, then call "getfield(a, 'b', 'c')".%%if ischar(theField) & any(theField == '.')%	theField = [theField '.'];%	f = find(theField == '.');%	theParts = cell(1, length(f));%	k = 0;%	for i = 1:length(f)%		theParts{i} = theField(k+1:f(i)-1);%		k = f(i);%	end%	%	theField = theParts;%elseif ~iscell(theField)%	theField = {theField};%end%%theValue = [];%%isOkay = 1;%% eval('theValue = getfield(theInfo, theField);', 'isOkay = 0;');%eval('theValue = getfield(theInfo, theField{:});', 'isOkay = 0;');%%result = theValue;%%if all(isOkay)%    switch class(theValue)%    case 'cell'%        if isequal(theValue{1}, 'checkbox') | ...%				isequal(theValue{1}, 'radiobutton')%			if length(theValue) < 2, theValue{2} = 0; end%            result = theValue{2};%        else%			if ~iscell(theValue{1}), theValue = {theValue{1}}; end%			if length(theValue) < 2, theValue{2} = 1; end%            result = theValue{1}{theValue{2}};%        end%    otherwise%        result = theValue;%    end%end%%if nargout > 0%    theResult = result;%else%    disp(result)%endfclose(fout);disp(' ## Installing: "grid2mask.m" (text)')fout = fopen('grid2mask.m', 'w');%function theResult = grid2mask(x, y, z, c, mask)%%% grid2mask -- Create an interactive mask.%%  grid2mask('demo') demonstrates itself via "grid2mask(10)".%%  grid2mask(N) demonstrates itself with an N-by-N grid.%%%%  grid2mask(x, y, z, c, mask) creates a masked surface from the%%   (x, y, z, c, mask) grid, whose cells can be toggled by mouse%%   clicks.  Clicking button #1 on a grid cell causes its color%%   to toggle to/from transparency via NaN.  Button #2 toggles%%   the value with the defined replacement-depth (see below).%%   Button #3 captures the clicked cell, making that the%%   replacement depth for subsequent clicks with Button #2.%%   The default depth is 0.  The default color array c is z itself.%%   A handle is returned, whose "UserData" contains the handles%%   of surfaces that can be used to re-assemble the color array.%%%%  grid2mask('mask', mask_array) sets/gets the color-array of the mask.%%   If logical, the TRUE values are treated as NaNs.%%%%  grid2mask('depth', depth_array) sets/gets the depth-array.%%%%  grid2mask('replacement', rep_value) sets/gets the replacement%%   depth to be used for subsequent clicks with Button #2,%%   whenever the grid-cell is not masked by NaN.%%%%  grid2mask('edit') captures the edit-field depth replacement.%%%%  grid2mask('done') deletes the grid2mask objects.%%% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Oct-1999 15:33:50.%% Updated    23-Apr-2001 10:59:01.%%if nargin < 1, help(mfilename), return, end%%if nargin == 1 & isequal(x, 'demo')%	x = 10;%end%if ischar(x) & any(x(1) == '0123456789')%	x = eval(x);%end%%% Demonstration.%%if nargin < 2 & ~ischar(x)%	f = findobj(gcf, 'Tag', mfilename);%	delete(f)%	nx = x;%	if ischar(nx), nx = eval(nx); end%	ny = nx;%	[x, y] = meshgrid(0:nx, 0:ny);%	z = rand(size(x));%	h = feval(mfilename, x, y, z);%	set(gcf, 'Name', mfilename)%	zoomsafe%	if nargout > 0%		theResult = h;%	else%		assignin('caller', 'ans', h)%	end%	return%end%%REPLACEMENT_DEPTH = 0;%%MASTER_HANDLE = findobj(gca, 'Type', 'text', 'Tag', mfilename);%if any(MASTER_HANDLE) & ishandle(MASTER_HANDLE(1))%	u = get(MASTER_HANDLE, 'UserData');%	STRIP_HANDLES = u.strips;%	EDIT_HANDLE = u.edit;%	REPLACEMENT_DEPTH = u.depth;%	REPLACEMENT_COLOR = u.color;%end%%% Get the edit-field replacement-value.%%if isequal(lower(x), 'edit') & nargin == 1%	REPLACEMENT_DEPTH = eval(get(EDIT_HANDLE, 'String'));%	set(EDIT_HANDLE, 'String', num2str(REPLACEMENT_DEPTH));%	u.depth = REPLACEMENT_DEPTH;%	set(MASTER_HANDLE, 'UserData', u)%	return%end%%% Set/Get the replacement value.%%if isequal(lower(x), 'replacement')%	if nargin > 1%		REPLACEMENT_DEPTH = y(1);%		set(EDIT_HANDLE, 'String', num2str(REPLACEMENT_DEPTH))%		u.depth = REPLACEMENT_DEPTH;%		set(MASTER_HANDLE, 'UserData', u)%	else%		result = REPLACEMENT_DEPTH;%		if nargout > 0%			theResult = result;%		else%			assignin('caller', 'ans', result)%		end%	end%	return%end%%% Set the mask.%%if isequal(lower(x), 'mask') & nargin > 1%	if nargin < 3 | isempty(y), y = 0; end%	mask = ~~y%	if length(mask) == 1%		mask = ~~(zeros(size(y)) + mask);%	end%	x = get(u.strips(1), 'XData');%	c = zeros(length(u.strips)+1, length(x));%	for i = 1:length(u.strips)%		c(i:i+1, :) = get(u.strips(i), 'UserData');%	end%	if all(mask(:))%		c(:) = NaN;%	else%		c(mask) = NaN;   % Only does c(1, 1) if all ones.%	end%	for i = 1:length(u.strips)%		set(u.strips(i), 'CData', c(i:i+1, :));%	end%	if nargout > 0%		theResult = isnan(c);%	else%		assignin('caller', 'ans', isnan(c))%	end%	return%end%%% Get the mask.%%if isequal(lower(x), 'mask') & nargin < 2%	x = get(u.strips(1), 'XData');%	c = zeros(length(u.strips)+1, length(x));%	for i = 1:length(u.strips)%		c(i:i+1, :) = get(u.strips(i), 'CData');%	end%	if nargout > 0%		theResult = isnan(c);%	else%		assignin('caller', 'ans', isnan(c))%	end%	return%end%%% Set the depth-array.%%if isequal(lower(x), 'depth') & nargin > 1%	return%end%%% Get the depth-array.%%if isequal(lower(x), 'depth') & nargin < 2%	x = get(u.strips(1), 'XData');%	z = zeros(length(u.strips)+1, length(x));%	for i = 1:length(u.strips)%		z(i:i+1, :) = get(u.strips(i), 'ZData');%	end%	if nargout > 0%		theResult = z;%	else%		assignin('caller', 'ans', z)%	end%	return%end%%if isequal(lower(x), 'depth') & nargin < 2%	return%end%%% Done.%%if nargin == 1 & isequal(lower(x), 'done')%	x = get(u.strips(1), 'XData');%	c = zeros(length(u.strips)+1, length(x));%	for i = 1:length(u.strips)%		c(i:i+1, :) = get(u.strips(i), 'CData');%	end%	delete(STRIP_HANDLES)%	delete(EDIT_HANDLE)%	delete(MASTER_HANDLE)%	if nargout > 0%		theResult = isnan(c);%	else%		assignin('caller', 'ans', isnan(c))%	end%	return%end%%% Handle mouse click.%%if isequal(lower(x), 'buttondownfcn') & nargin == 1%	selection = get(gcbf, 'SelectionType');%	switch selection%	case {'normal', 'extend', 'alt'}%		h = gcbo;%		x = get(h, 'XData');%		y = get(h, 'YData');%		z = get(h, 'ZData');%		c = get(h, 'CData');%		cx = sum(x); cx = 0.25 * (cx(1:end-1) + cx(2:end));%		cy = sum(y); cy = 0.25 * (cy(1:end-1) + cy(2:end));%		cz = cx + cy*sqrt(-1);%		pt = get(gca, 'CurrentPoint');%		pt = pt(1, 1:2); ptx = pt(1); pty = pt(2);%		ptz = ptx + pty*sqrt(-1);%		dz = abs(cz - ptz);%		f = find(dz == min(dz));%		if any(f)%			f = f(1);%			switch selection%			case 'normal'  % Toggle NaN.%				if isnan(c(1, f))%					c_original = get(h, 'UserData');%					c(1, f) = c_original(1, f);%				else%					c(1, f) = NaN;%				end%				set(h, 'CData', c)%			case 'extend'   % Replace the cell's depth.%				z = get(h, 'ZData');%				z(1, f) = REPLACEMENT_DEPTH;%				set(h, 'ZData', z)%				c = get(h, 'CData');%				c(1, f) = REPLACEMENT_COLOR;%				set(h, 'CData', c)%			case 'alt'   % Capture the cell's depth.%				z = get(h, 'ZData');%				REPLACEMENT_DEPTH = z(1, f);%				c = get(h, 'CData');%				REPLACEMENT_COLOR = c(1, f);%				set(EDIT_HANDLE, 'String', num2str(REPLACEMENT_DEPTH));%				u.depth = REPLACEMENT_DEPTH;%				u.color = REPLACEMENT_COLOR;%				set(MASTER_HANDLE, 'UserData', u)%			end%		end%	otherwise%		switch selection%		case 'open'%			button = 4;%			selection = 'double-click';%		otherwise%			button = NaN;%		end%		disp([' ## ' mfilename ' -- Mouse button not supported: ' int2str(button) ' (' selection ')'])%	end%	return%end%%% Setup.%%if nargin < 3, z = []; end%if nargin < 4, c = []; end%if nargin < 5, mask = []; end%%if isempty(z), z = zeros(size(x)); end%%if isempty(c)%	temp = surface(x, y, z, 'Visible', 'off');%	c = get(temp, 'CData');%	delete(temp)%end%%if isempty(mask), mask = ~~zeros(size(x)); end%%% CAREFUL: When z contains NaN, the corresponding%%  cell is not clickable, unlike when c contains NaN.%%  We should set the corresponding z to zero and%%  adjust c accordingly.%%masked_color = c;%masked_color(logical(mask)) = NaN;%%theEraseMode = 'xor';   % Lines do not show.%theEraseMode = 'background';   % Sometimes blinks.%theEraseMode = 'normal';%%for i = 1:size(x, 1)-1%	STRIP_HANDLES(i) = surface(x(i:i+1, :), y(i:i+1, :), ...%			z(i:i+1, :), masked_color(i:i+1, :), ...%			'UserData', c(i:i+1, :), ...%			'EraseMode', theEraseMode);%end%%MASTER_HANDLE = text(x(1), y(1), mfilename, ...%					'Visible', 'off', 'Tag', mfilename);%%theBDF = [mfilename ' ButtonDownFcn'];%set(STRIP_HANDLES, 'ButtonDownFcn', theBDF, 'Tag', mfilename)%%thePosition = get(0, 'DefaultUIControlPosition').*[0 0 1 1];%thePosition(1) = thePosition(1) + 20;%EDIT_HANDLE = uicontrol('Style', 'edit', 'Tag', mfilename, ...%		'String', num2str(REPLACEMENT_DEPTH), ...%		'Position', thePosition, ...%		'Callback', [mfilename ' edit']);%%u.strips = STRIP_HANDLES;%u.edit = EDIT_HANDLE;%u.depth = 0;%u.color = 0;%%set(MASTER_HANDLE, 'UserData', u)%%if nargout > 0%	theResult = MASTER_HANDLE;%else%	assignin('caller', 'ans', MASTER_HANDLE)%endfclose(fout);disp(' ## Installing: "grid_test.m" (text)')fout = fopen('grid_test.m', 'w');%function grid_test(m, n)%%% grid_test -- Grid generation demo.%%  grid_test(m, n) constructs a grid of size [m n].  This%%   is a demonstration routine which attempts to lay out%%   the algorithm in an intuitive manner.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-May-1999 22:22:17.%% Updated    03-Jun-1999 15:09:18.%%if nargin < 1, m = 11; end%if nargin < 2, n = m; end%%if ischar(m), m = eval(m); end%if ischar(n), n = eval(n); end%%x = [1 4 3 1];%y = [1 1 2 2];%%z = x + sqrt(-1)*y;%c = [1 2 3 4];   % corner indices.%%z(end+1) = z(1);%c(end+1) = length(z);%%counts = [m n m n];%%zz = [];%cc = [];%for i = 1:4%	j = c(i):c(i+1);%	[ji, pp] = splineq(j, z(j), counts(i), 1);%	zi = ppval(pp, ji);%	zi(end) = [];%	cc = [cc length(zz)+1];%	zz = [zz zi(:).'];%end%%z = zz; c = cc;%%subplot(2, 2, 1)%x = real(z); y = imag(z);%plot(x, y, '+-', x(1), y(1), 'o')%title z, xlabel x, ylabel y%%zoomsafe 0.9, zoomsafe%%hasMex = (exist('mexrect', 'file') == 3);%%iteration = 0;%straightness = 0;%zrect = z;%while abs(1-straightness) > 0.0001 & iteration < max(m, n)%	if ~hasMex%		zrect = rect(zrect, 1, c(1), c(2), c(3), c(4));%	else%		zrect = mexrect(zrect, length(zrect), c(1), c(2), c(3), c(4));%	end%	ztemp = zrect;%	ztemp(end+1) = ztemp(1);%	ctemp = c;%	ctemp(end+1) = length(ztemp);%	d = sum(abs(diff(ztemp)));%	dc = sum(abs(diff(ztemp(ctemp))));%	straightness = dc ./ d;%	iteration = iteration+1;%	disp([' ## iteration ' int2str(iteration) ...%		'; straightness = ' num2str(100*straightness) ' percent'])%end%%subplot(2, 2, 2)%xr = real(zrect); yr = imag(zrect);%plot(xr, yr, '+-', xr(1), yr(1), 'o')%title zrect, xlabel u, ylabel v%zoomsafe 0.9, zoomsafe%%figure(gcf)%set(gcf, 'Name', mfilename)%%ind = zeros(m, n);%ind(:) = 1:prod(size(ind));%index = [ind(1:end-1, 1).', ind(end, 1:end-1), ...%			ind(end:-1:2, end).', ind(1, end:-1:2)];%%z = z(:).';%z(end+1) = z(1);%%zrect = zrect(:).';%zrect(end+1) = zrect(1);%c(end+1) = length(z);%%d = [0 cumsum(abs(diff(z)))];		% Original boundary.%e = [0 cumsum(abs(diff(zrect)))];	% Mapped boundary.%%d12 = d(c(1):c(2));%d12 = d12 - min(d12); d12 = d12 ./ max(d12);%d23 = d(c(2):c(3));%d23 = d23 - min(d23); d23 = d23 ./ max(d23);%%e12 = e(c(1):c(2));%e12 = e12 - min(e12); e12 = e12 ./ max(e12);%e23 = e(c(2):c(3))%e23_scale = max(e23) - min(e23)%e23 = e23 - min(e23); e23 = e23 ./ max(e23);%%hasMex = (exist('mexsepeli', 'file') == 3)%%theSlopeFlag = 1;%theSlopeFlag = 0;%%zz = zeros(size(z));%%if ~hasMex%	for i = 1:4%		j = c(i):c(i+1);%		dd = d(j);%		dd = dd - min(dd); dd = dd ./ max(dd);%		ee = e(j);%		ee = ee - min(ee); ee = ee ./ max(ee);%		pp = splinep(ee, z(j), theSlopeFlag);%		if i == 1%			dd = d12;%		elseif i == 2%			dd = d23;%		elseif i == 3%			dd = fliplr(1-d12);%		elseif i == 4%			dd = fliplr(1-d23);%		end%		zz(j) = ppval(pp, dd);%	end%	zz(end) = [];%	u = zeros(m, n);%	v = zeros(m, n);%	u(index) = real(zz);%	v(index) = imag(zz);%	u = fps(u);%	v = fps(v);%else   % Use Mex-file.%	seta = e12;%	sxi = e23 * e23_scale;   % Note.%	for i = 1:4%		j = c(i):c(i+1);%		ee = e(j);%		ee = ee - min(ee); ee = ee ./ max(ee);%		if i == 1%			pp = splinep(ee, z(j), theSlopeFlag);%			zz(j) = ppval(pp, e12);%		elseif i == 2%			pp = splinep(ee, z(j), theSlopeFlag);%			zz(j) = ppval(pp, e23);%		elseif i == 3%			pp = splinep(ee, z(j), theSlopeFlag);%			zz(j) = ppval(pp, fliplr(1-e12));%		elseif i == 4%			pp = splinep(ee, z(j), theSlopeFlag);%			zz(j) = ppval(pp, fliplr(1-e23));%		end%	end%	zz(end) = [];%	u = zeros(m, n);%	v = zeros(m, n);%	u(index) = real(zz);%	v(index) = imag(zz);%	[u, v] = mexsepeli(u, v, m-1, n-1, sxi, seta);   % Note calling sequence.%end%%uu = del2(u);%vv = del2(v);%laplacian = norm(uu(2:end-1, 2:end-1)) + norm(vv(2:end-1, 2:end-1))%%subplot(2, 1, 2)%plot(u, v, u.', v.')%title gridded, xlabel x, ylabel y%axis equal%zoomsafe 0.9, zoomsafefclose(fout);disp(' ## Installing: "griddata1.m" (text)')fout = fopen('griddata1.m', 'w');%function zi = griddata1 (x, y, z, xi, yi, sr, ppq, expon)%					%% griddata1 -- 2-d data gridder.%%  griddata1(N, sr, ppq, expon) demonstrates itself.%%   Defaults: 100, inf, 1, and 1, respectively.%%  griddata1(x, y, z, xi, yi, sr, ppq, expon) is an inverse-%%   distance 2-d data gridder, which is guided by the search-%%   radius sr (default = inf), the points-per-quadrant ppq%%   (default = 1), and the exponent expon (default = 1).%%   The search-radius is the maximum distance permitted%%   between an interpolated position and the qualifying%%   data-points.  The points-per-quadrant is the maximum%%   number of (x, y) points to be used in each of the four%%   quadrants surrounding the corresponding (xi, yi) position.%%   The exponent for inverse-distance weighting defaults to 1,%%   denoting the simple reciprocal.  Invalid interpolates are%%   marked by NaN.%%  griddata1(x, y, z, xi, yi, [sr, ppq, expon]) is an%%   alternative syntax, in closer keeping with the "method"%%   syntax of the Matlab "griddata" function.%%%  This began as John Evans' "gridgen_griddata" version%%   of a Rich Signell routine.  Cleaned-up by Denham to be%%   stand-alone, more versatile, and self-demonstrating.% %% Modifications (Denham):%%%% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 20-Jul-2000 13:44:52.%% Updated    24-Jul-2000 11:12:17.%%DEFAULT_SR = inf;    % Infinite search-radius.%DEFAULT_PPQ = 1;     % Nearest point in each quadrant.%DEFAULT_EXPON = 1;   % Very shallow unit-response.%%if nargin < 1, x = 'demo'; help(mfilename), end%%if isequal(x, 'demo'), x = 100; end%%if isstr(x), x = eval(x); end%%if length(x) == 1%	sr = DEFAULT_SR;%	ppq = DEFAULT_PPQ;%	expon = DEFAULT_EXPON;%	if nargin > 1, sr = y; end, if ischar(sr), sr = eval(sr); end%	if nargin > 2, ppq = z; end, if ischar(ppq), ppq = eval(ppq); end%	if nargin > 3, expon = xi; end%	if ischar(expon), expon = eval(expon); end%	n = x;%	x = rand(n, 1);%	y = rand(size(x));%	z = x+y;%	NGRID = 10;%	g = (0:NGRID)/NGRID;%	[xi, yi] = meshgrid(g, g);%	tic%	result = feval(mfilename, x, y, z, xi, yi, sr, ppq, expon);%	disp([' ## Elapsed time: ' int2str(round(toc)) ' s'])%	hold off%	try, set(gcf, 'Renderer', 'zbuffer'), catch, end%	surf(xi, yi, result)%	hold on%	plot3(x, y, z, '*k')%	hold off%	mfile = strrep(mfilename, '_', '\_');%	title([mfile ' ' int2str(n) ' ' num2str(sr) ' ' int2str(ppq) ...%			' ' num2str(expon)])%	xlabel x, ylabel y, zlabel z%	try, rotate3d on, catch, end%	return%end%%if nargin  == 6 & length(sr) > 1%	for i = 1:length(sr), v{i} = sr(i); end%	zi = feval(mfilename, x, y, z, xi, yi, v{:});%	return%end%%if nargin < 5, help(mfilename), return, end%if nargin < 6, sr = DEFAULT_SR; end%if nargin < 7, ppq = DEFAULT_PPQ; end%if nargin < 8, ppq = DEFAULT_EXPON; end%%x = x(:); y = y(:); z = z(:);%%search_radius = sr;%points_per_quadrant = max(ppq, 1);%%n = length(xi(:));%%% Loop through one grid-point at a time.%%for k = 1:n%	%	% Locate the data lying within the search-radius,%	%  applied independently to x and y, rather than%	%  to actual radial distance.%%	near_inds = find ( (abs(x-xi(k)) <= search_radius) & ...%		(abs(y-yi(k)) <= search_radius) );%	nearx = x(near_inds)-xi(k); %	neary = y(near_inds)-yi(k);%	nearz = z(near_inds);%	%	quad1_inds = find ( (nearx>=0) & (neary>=0) );%	quad1x = nearx(quad1_inds); %	quad1y = neary(quad1_inds);%	quad1z = nearz(quad1_inds);%	%	quad2_inds = find ( (nearx<0) & (neary>=0) );%	quad2x = nearx(quad2_inds); %	quad2y = neary(quad2_inds);%	quad2z = nearz(quad2_inds);%	%	quad3_inds = find ( (nearx<0) & (neary<0) );%	quad3x = nearx(quad3_inds); %	quad3y = neary(quad3_inds);%	quad3z = nearz(quad3_inds);%	%	quad4_inds = find ( (nearx>=0) & (neary<0) );%	quad4x = nearx(quad4_inds); %	quad4y = neary(quad4_inds);%	quad4z = nearz(quad4_inds);%	%	% Select up to the maximum number per quadrant.%%	if ( ~isempty(quad1_inds) )%		ranges_quad1 =  sqrt(quad1x.^2 + quad1y.^2);%		[sorted_range_quad1, range_inds] = sort(ranges_quad1);%		closest_quad1_inds = ...%			range_inds([1:1:min(length(range_inds),points_per_quadrant)]);%	else%		ranges_quad1 = [];%		closest_quad1_inds = [];%	end%	 %	if ( ~isempty(quad2_inds) )%		ranges_quad2 =  sqrt(quad2x.^2 + quad2y.^2);%		[sorted_range_quad2, range_inds] = sort(ranges_quad2);%		closest_quad2_inds = ...%			range_inds([1:1:min(length(range_inds),points_per_quadrant)]);%	else%		ranges_quad2 = [];%		closest_quad2_inds = [];%	end%	 %	if ( ~isempty(quad3_inds) )%		ranges_quad3 =  sqrt(quad3x.^2 + quad3y.^2);%		[sorted_range_quad3, range_inds] = sort(ranges_quad3);%		closest_quad3_inds = ...%			range_inds([1:1:min(length(range_inds),points_per_quadrant)]);%	else%		ranges_quad3 = [];%		closest_quad3_inds = [];%	end%	 %	if ( ~isempty(quad4_inds) )%		ranges_quad4 =  sqrt(quad4x.^2 + quad4y.^2);%		[sorted_range_quad4, range_inds] = sort(ranges_quad4);%		closest_quad4_inds = ...%			range_inds([1:1:min(length(range_inds),points_per_quadrant)]);%	else%		ranges_quad4 = [];%		closest_quad4_inds = [];%	end%%	% Bundle all the qualifying data together.%%	closest_ranges = [ranges_quad1(closest_quad1_inds); ...%					ranges_quad2(closest_quad2_inds); ...%					ranges_quad3(closest_quad3_inds); ...%					ranges_quad4(closest_quad4_inds); ];%				  %	closest_z = [quad1z(closest_quad1_inds); ...%					quad2z(closest_quad2_inds); ...%					quad3z(closest_quad3_inds); ...%					quad4z(closest_quad4_inds); ];%%	% Use inverse-distance weighting with the nearest points%	%  in each quadrant. If none, the result is NaN.%	%	if ( isempty(closest_ranges) )%		zi(k) = NaN;%	else%		inv_ranges = closest_ranges .^ (-expon);%		zi(k) = sum ( ( inv_ranges ./ sum(inv_ranges) ) .* closest_z );%	end%		 %end%%zi = reshape(zi, size(xi));fclose(fout);disp(' ## Installing: "gridfill.m" (text)')fout = fopen('gridfill.m', 'w');%function zout = gridfill(z)%%% gridfill -- Simple grid-filling of NaNs.%%  gridfill(z) fills in the NaN values of%%   z with the mean of surrounding values,%%   working iteratively until all the%%   voids are filled.%%  gridfill(N) demonstrates itself with%%   an N-by-N grid, with about 10% NaNs%%   (default N = 5).% %% Copyright (C) 2001 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 17-Oct-2001 15:57:19.%% Updated    17-Oct-2001 15:57:19.%%if nargin < 1%	help(mfilename)%	z = 5;%end%%if ischar(z), z = eval(z); end%%if length(z) == 1%	n = z;%	z = floor(rand(n, n)*10);%	z(z == 0) = NaN;%	zo = feval(mfilename, z);%	subplot(1, 2, 1)%	surf(z), shading interp%	set(gca, 'XLim', [1 n], 'YLim', [1 n])%	title('Original'), view(2)%	[j, i] = find(isnan(z));   % Mark the NaNs.%	hold on%	plot(i, j, 'ko', 'MarkerFaceColor', [0 0 0]);%	hold off%	clim = get(gca, 'CLim');%	subplot(1, 2, 2)%	surf(zo), shading interp%	set(gca, 'XLim', [1 n], 'YLim', [1 n])%	title('Filled'), view(2)%	set(gca, 'CLim', clim)%	if n < 11, z, zo, end%	figure(gcf)%	return%end%%[m, n] = size(z);%ztemp = zeros(m+2, n+2) + NaN;%%% The following can be vectorized.%%while any(any(isnan(z)))%	ztemp(2:end-1, 2:end-1) = z;%	[m, n] = size(ztemp);%	for j = 2:n-1%		if any(isnan(ztemp(2:end-1, j)))%			for i = 2:m-1%				if isnan(ztemp(i, j))%					w = ztemp(i-1:i+1, j-1:j+1);   % Neighbors.%					f = find(~isnan(w));%					if any(f)%						z(i-1, j-1) = mean(w(f));   % Note z, not ztemp.%					end%				end%			end%		end%	end%end%%zout = z;fclose(fout);disp(' ## Installing: "guido.m" (text)')fout = fopen('guido.m', 'w');%function theResult = guido(theStruct, theFigureName, isModal, thePrecision)%%% guido -- Get info via Matlab struct.%%  guido('demo') demonstrates itself, using the commands%%   given below.%%  guido(theStruct, 'theFigureName') presents a dialog%%   representing the fieldnames and values of theStruct,%%   a Matlab "struct" which must be compatible with%%   "getinfo" and "setinfo".  If theStruct contains%%   embedded structs, nested dialogs are produced for%%   them as needed.  The empty-matrix [] is returned%%   if the main "Cancel" button is pressed.  Also, use%%   "Cancel" to escape a sub-dialog without saving its%%   most recent changes.  Fields named "help_..." are%%   shown in a separate dialog.  If theFigureName is%%   not given or is empty, the external name of%%   theStruct will be used.%%  guido(theStruct, 'theFigureName', isModal) uses modal%%   dialogs on non-PCWIN machines if "isModal" evaluates%%   to logical(1) TRUE.  The default is to use non-modal%%   dialogs, which allows interactions with other windows,%%   except the Matlab command window.  In either case, the%%   the routine prevents dialogs from being dismissed out%%   of sequence.%%  guido(theStruct, 'theFigureName', isModal, thePrecision)%%   uses thePrecision (default = 4) when displaying numbers%%   in an "edit" control.%%%% Commands used in the demonstration:%%%%   s.help = help(mfilename);%%   s.anEdit = 'some text';%%   s.aNumber = pi;%%   s.aCheckbox = {'checkbox' 0};%%   s.aRadiobutton = {'radiobutton' 0};%%   s.aPopupmenu = {{'red', 'blue', 'green'}, 1};%%   s.aSubdialog.aPopupmenu = {{10 20 30}, 1};%%   guido(s, [mfilename ' demo'])%%% Note: the present m-file can be renamed without%%  requiring any changes to the Matlab code itself.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 15-Dec-1999 13:39:54.%% Updated    25-Jan-2000 11:47:42.%%persistent CURRENT_STRUCT%persistent CURRENT_FIGURES%%LF = char(10);%CR = char(13);%CRLF = [CR LF];%BABY_BLUE = [8 10 10]/10;%%if nargout > 0, theResult = []; end%%% Launch a demo if this is not a callback.%%if nargin < 1 & isempty(gcbo)%	help(mfilename)%	ans = feval(mfilename, 'demo');%	if nargout > 0%		theResult = CURRENT_STRUCT;%	else%		assignin('caller', 'ans', CURRENT_STRUCT)%	end%	return%end%%% Do the demo.%%if nargin > 0 & isequal(theStruct, 'demo')%	if nargin < 2, theFigureName = [mfilename ' demo']; end%	s = [];%	s.help = help(mfilename);%	s.anEdit = 'some text';%	s.aNumber = pi;%	s.aCheckbox = {'checkbox' 0};%	s.aRadiobutton = {'radiobutton' 0};%	s.aPopupmenu = {{'red', 'blue', 'green'}, 1};%	s.aSubdialog.aPopupmenu = {{10 20 30}, 1};%%	s.aSubdialog.bSubdialog.bPopupmenu = {{100 200 300}, 1};%	disp(s)%%	assign([mfilename '_demo'], s)%	result = feval(mfilename, eval([mfilename '_demo']), '', 0);%	assign([mfilename '_result'], result)%	%	if ~isempty(eval([mfilename '_result']))%		result = feval(mfilename, eval([mfilename '_result']), '', 0);%		assign([mfilename '_result'], result)%	end%	if nargout > 0%		assign('theResult', [mfilename '_result'])%	end%	return%end%%if nargin > 0 & ischar(theStruct)%	theCommand = lower(theStruct);%end%%if 0 & nargin > 0 & ischar(theStruct)%	switch theCommand%	case '_keypress_'%		theKey = get(gcbf, 'CurrentCharacter');%		if any(abs(theKey) < 32)%			theCommand = '_okay_';%		end%	end%end%%% Dismiss dialogs in sequence.%%if nargin > 0 & ischar(theStruct)%	switch theCommand%	case {'_okay_', '_cancel_'}%		CURRENT_FIGURES(~ishandle(CURRENT_FIGURES)) = [];%		if ~isempty(CURRENT_FIGURES) & gcbf ~= CURRENT_FIGURES(end)%			figure(CURRENT_FIGURES(end))%			h = helpdlg('Dismiss dialogs in sequence.', 'Please...');%			tic%			while ishandle(h) & toc < 3%				drawnow%			end%			if ishandle(h), delete(h), end%			return%		end%	end%end%%% Process a command: okay or cancel.%%if nargin > 0 & ischar(theStruct)%	switch theCommand%	case '_okay_'%		CURRENT_STRUCT = get(gcbf, 'UserData');%		theControls = findobj(gcbf, 'Type', 'uicontrol', 'Tag', mfilename);%		theControls = sort(theControls);%		for i = 2:2:length(theControls)%			theField = get(theControls(i-1), 'String');%			theControl = theControls(i);%			theStyle = get(theControl, 'Style');%			switch theStyle%			case 'pushbutton'%				okay = 0;%			case 'checkbox'%				theValue = get(theControl, 'Value');%				okay = 1;%			case 'radiobutton'%				theValue = get(theControl, 'Value');%				okay = 1;%			case 'edit'%				if isequal(theField, 'help')%					okay = 0;%				else%					theValue = eval(get(theControl, 'String'));%					okay = 1;%				end%			case 'popupmenu'%				theValue = get(theControl, 'Value');%				okay = 1;%			otherwise%				okay = 0;%				warning([' ## Unsupported control style: ' theStyle])%			end%			if okay%				CURRENT_STRUCT = setinfo(CURRENT_STRUCT, theField, theValue);%			end%		end%		if ~isempty(CURRENT_FIGURES) & any(CURRENT_FIGURES == gcbf)%			CURRENT_FIGURES(CURRENT_FIGURES == gcbf) = [];%		end%		delete(gcbf)%	case '_cancel_'%		CURRENT_STRUCT = [];%		if ~isempty(CURRENT_FIGURES) & any(CURRENT_FIGURES == gcbf)%			CURRENT_FIGURES(CURRENT_FIGURES == gcbf) = [];%		end%		delete(gcbf)%	otherwise%		disp([' ## Unknown command: ' theCommand])%	end%	return%end%%% Build the dialog if it does not already exist.%%if nargin > 0 & isstruct(theStruct)%	theStruct = setinfo(theStruct);%	if nargin < 2 | isempty(theFigureName)%		theFigureName = inputname(1);%		if isempty(theFigureName)%			theFigureName = 'unnamed';%		end%	end%	if isempty(theFigureName), theFigureName = mfilename; end%	%	f = findobj('Type', 'figure', 'Name', theFigureName, 'Tag', mfilename);%	if any(f)%		figure(f)%		return%	end%	%	if nargin < 3, isModal = 0; end%	if nargin < 4, thePrecision = 4; end%	%	if all(isModal(:)) & ~any(findstr(computer, 'PCWIN'))%		theWindowStyle = 'modal';%	else%		theWindowStyle = 'normal';%	end%	theFigures = findobj('Type', 'figure', 'Tag', mfilename);%	theFigure = figure( ...%						'Name', theFigureName, ...%						'WindowStyle', theWindowStyle, ...%						'Visible', 'off', ...%						'KeyPressFcn', [mfilename ' _keypress_'], ...%						'CloseRequestFcn', [mfilename ' _cancel_'], ...%						'Tag', mfilename);%	if any(theFigures)%		pos = get(theFigures(1), 'Position');%		left = pos(1);%		top = pos(2) + pos(4);%		for i = 2:length(theFigures)%			p = get(theFigures(i), 'Position');%			left = max(pos(1), p(1));%			top = min(top, p(2) + p(4));%		end%		thePosition = get(theFigure, 'Position');%		thePosition(1) = left + 20;%		thePosition(2) = top - thePosition(4) - 20;%		set(theFigure, 'Position', thePosition)%	end%	theFrame = uicontrol( ...%						'Style', 'frame', ...%						'Units', 'normalized', ...%						'Position', [0 0 1 1], ...%						'BackgroundColor', BABY_BLUE);%	theControls = [];%	theStruct = setinfo(theStruct);   % Canonical form.%	theFields = fieldnames(theStruct);%	for i = 1:length(theFields)%		theField = theFields{i};%		theValue = getfield(theStruct, theField);%		switch class(theValue)%		case 'cell'%			switch class(theValue{1})%			case 'cell'%				if length(theValue) > 1%					theSetting = theValue{2};%				else%					theSetting = 1;%					theValue = {theValue, theSetting};%					theStruct = setfield(theStruct, theField, theValue);%				end%				theStyle = 'popupmenu';%			case 'char'%				switch theValue{1}%				case 'checkbox'%					theStyle = 'checkbox';%					if length(theValue) > 1%						theSetting = theValue{2};%					else%						theSetting = 0;%					end%				case 'radiobutton'%					theStyle = 'radiobutton';%					if length(theValue) > 1%						theSetting = theValue{2};%					else%						theSetting = 0;%					end%				otherwise%					error([' ## Incompatible control style: ' theValue{1}])%				end%			end%			theControls(end+1) = uicontrol( ...%						'Style', 'text', ...%						'String', theField);%			theControls(end+1) = uicontrol( ...%						'Style', theStyle, ...%						'String', theValue{1}, ...%						'Value', theSetting);%		case 'char'%			f = findstr(theField, 'help_');%			if ~any(f) | f(1) ~= 1%				theControls(end+1) = uicontrol( ...%							'Style', 'text', ...%							'String', theField);%				theControls(end+1) = uicontrol( ...%							'Style', 'edit', ...%							'Max', 1000, ...%							'String', ['''' theValue '''']);%			else%				theHintName = [theField ' ' theFigureName];%				theCallback = ...%					['hint(get(gcbo, ''UserData''), ''' theHintName ''')'];%				theControls(end+1) = uicontrol( ...%							'Style', 'text', ...%							'String', theField);%				theControls(end+1) = uicontrol( ...%							'Style', 'pushbutton', ...%							'Callback', theCallback, ...%							'UserData', theValue, ...%							'String', 'Help...');%			end%		case 'double'%			theControls(end+1) = uicontrol( ...%						'Style', 'text', ...%						'String', theField);%			theControls(end+1) = uicontrol( ...%						'Style', 'edit', ...%						'Max', 1000, ...%						'String', mat2str(theValue, thePrecision));%		case 'struct'%			theCallback = ...%				[mfilename '(get(gcbo, ''UserData''), ''' theField ''')'];%			theControls(end+1) = uicontrol( ...%						'Style', 'text', ...%						'String', theField);%			theControls(end+1) = uicontrol( ...%						'Style', 'pushbutton', ...%						'String', 'More...', ...%						'Callback', theCallback, ...%						'UserData', theValue);%		otherwise%			disp(class(theValue))%			error([' ## Incompatible data type. ' class(theValue)])%		end%	end%	set(theControls(1:2:end), ...%			'HorizontalAlignment', 'right', ...%			'BackgroundColor', BABY_BLUE)%	theControls(end+1) = uicontrol( ...%			'Style', 'pushbutton', ...%			'String', 'Cancel', ...%			'BackgroundColor', [10 2 2]/10, ...%			'Callback', [mfilename ' _cancel_']);%	theControls(end+1) = uicontrol( ...%			'Style', 'pushbutton', ...%			'String', 'Okay', ...%			'BackgroundColor', [2 10 2]/10, ...%			'Callback', [mfilename ' _okay_']);%	set(theControls, 'Tag', mfilename)%	theLayout = [];%	for i = 1:length(theControls)/2%		theLayout = [(1:2:length(theControls));%					(2:2:length(theControls))].';%	end%	theLayout = theLayout(:, [1 2 2]);%	uilayout(theControls, theLayout, [1 1 18 18]/20)%	pos = get(0, 'DefaultUIControlPosition');%	width = pos(3) * 6;%	height = 0.5 * length(theControls) * pos(4) * 20 / 15;%	thePosition = get(theFigure, 'Position');%	thePosition(2) = thePosition(2) + thePosition(4) - height;%	thePosition(3) = width;%	thePosition(4) = height;%	set(theFigure, 'Position', thePosition, 'Visible', 'on', ...%					'UserData', theStruct)%	if any(CURRENT_FIGURES)%		CURRENT_FIGURES(~ishandle(CURRENT_FIGURES)) = [];%	end%	CURRENT_FIGURES(end+1) = theFigure;%	%% Wait here for the new figure to be deleted.  By then, it will%%  already have placed its contents in the persistent CURRENT_STRUCT%%  item.%%	waitfor(theFigure)%	%% Now get the new info from CURRENT_STRUCT and update.%	%	theNewStruct = CURRENT_STRUCT;%	%	theFieldName = theFigureName;%	%	if length(theFigures) < 1%		theStruct = theNewStruct;%	else%		theFigure = gcf;%		theStruct = get(theFigure, 'UserData');%		if ~isfield(theStruct, theFieldName) & ~isequal(theField, 'help')%			disp([' ## No such field: ' theField])%		elseif ~isempty(theNewStruct)%			theStruct = setfield(theStruct, theFieldName, theNewStruct);%			set(theFigure, 'UserData', theStruct)%			f = findobj(theFigure, 'Type', 'uicontrol', 'Tag', mfilename);%			f = sort(f);%			for i = 2:2:length(f)%				theField = get(f(i-1), 'String');%				if isequal(theField, theFieldName)%					set(f(i), 'UserData', theNewStruct)%					break%				end%			end%		end%	end%	%	if nargout > 0%		theResult = theStruct;%	else%		assignin('caller', 'ans', theStruct);%	end%	%end%%% ---------- assign ----------%%%function assign(theName, theValue)%%% assign -- Assign a value to a name.%%  assign('theName', theValue) assigns theValue%%   to 'theName' in the caller's workspace. It%%   avoids the need to construct an explicit%%   assignment statement to be eval-ed.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 28-May-1998 00:43:58.%%if nargin < 2, help(mfilename), return, end%%% The following scheme permits the assignment%%  of items that have complicated subscripts,%%  such as "a{1}(2).b{3}.c = pi".%%hasAns = (evalin('caller', 'exist(''ans'', ''var'')') == 1);%if hasAns%	ans = evalin('caller', 'ans');   % Save.%end%assignin('caller', 'ans', theValue)%evalin('caller', [theName ' = ans;'])%evalin('caller', 'clear(''ans'')')%if hasAns%	assignin('caller', 'ans', ans)   % Restore.%end%%% ---------- getinfo ----------%%%function [theResult, isOkay] = getinfo(theInfo, theField)%%% getinfo -- Get field value from an "Info" struct.%%  getinfo(theInfo, 'theField') returns the current%%   value of 'theField' in theInfo, a struct that%%   is compatible with the "uigetinfo" function.%%   Non-existent fields return the empty-matrix.%%  [theResult, isOkay] = ... returns isOkay = 0%%   if an error occurred; otherwise, non-zero.%%  getinfo(theInfo) returns a struct containing%%   the fields and current selections of theInfo.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Feb-1998 09:45:56.%% Updated    14-Nov-2001 15:07:51.%%if nargout > 0, theResult = []; end%if nargin < 1, help(mfilename), return, end%%% Get current selections, recursively if needed.%%if nargin < 2%	result = theInfo;%	theFields = fieldnames(result);%	isOkay = 1;%	for i = 1:length(theFields)%		[theValue, okay] = getinfo(theInfo, theFields{i});%		isOkay = isOkay & okay;%		switch class(theValue)%		case 'struct'%			[res, okay] = getinfo(theValue);%			isOkay = isOkay & okay;%			result = setfield(result, theFields{i}, res);%		otherwise%			result = setfield(result, theFields{i}, theValue);%		end%	end%	if nargout > 0%		theResult = result;%	else%		disp(result)%	end%	return%end%%% Note: Matlab 6+ does not allow "getfield(a, 'b.c')",%%  unlike previous versions.  We need to parse the%%  'b.c' ourselves, then call "getfield(a, 'b', 'c')".%%if ischar(theField) & any(theField == '.')%	theField = [theField '.'];%	f = find(theField == '.');%	theParts = cell(1, length(f));%	k = 0;%	for i = 1:length(f)%		theParts{i} = theField(k+1:f(i)-1);%		k = f(i);%	end%	theField = theParts;%elseif ~iscell(theField)%	theField = {theField};%end%%theValue = [];%%isOkay = 1;%% eval('theValue = getfield(theInfo, theField);', 'isOkay = 0;');%eval('theValue = getfield(theInfo, theField{:});', 'isOkay = 0;');%%result = theValue;%%if all(isOkay)%    switch class(theValue)%    case 'cell'%        if isequal(theValue{1}, 'checkbox') | ...%				isequal(theValue{1}, 'radiobutton')%			if length(theValue) < 2, theValue{2} = 0; end%            result = theValue{2};%        else%			if ~iscell(theValue{1}), theValue = {theValue{1}}; end%			if length(theValue) < 2, theValue{2} = 1; end%            result = theValue{1}{theValue{2}};%        end%    otherwise%        result = theValue;%    end%end%%if nargout > 0%    theResult = result;%else%    disp(result)%end%%% ---------- setinfo ----------%%%function [theResult, isOkay] = setinfo(theInfo, theField, theValue)%%% setinfo -- Set field value in an "Info" struct.%%  setinfo(theInfo, 'theField', theValue) updates%%   'theField' to theValue in theInfo, a struct%%   that is compatible with the "uigetinfo" function.%%   If 'theField' does not exist, it will be created%%   to receive theValue.%%  [theResult, isOkay] = ... returns isOkay = 0%%   if an error occurred; otherwise, non-zero.%%  setinfo(theInfo, 'theField') invokes "getinfo".%%  setinfo(theInfo) adjusts theInfo to canonical%%   form.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Feb-1998 09:45:56.%% Updated    14-Nov-2001 15:21:24.%%if nargout > 0, theResult = []; end%if nargin < 1, help(mfilename), return, end%%% Put all fields into canonical form.%%if nargin < 2%	result = theInfo;%	theFields = fieldnames(result);%	isOkay = 1;%	for i = 1:length(theFields)%		theValue = getfield(result, theFields{i});%		switch class(theValue)%		case 'struct'%			[res, okay] = setinfo(theValue);%			isOkay = isOkay & okay;%			result = setfield(result, theFields{i}, res);%		case 'cell'%			if length(theValue) == 1 & ...%				(isequal(theValue{1}, 'radiobutton') | ...%				isequal(theValue{1}, 'checkbox'))%				theValue{2} = 0;%				result = setfield(result, theFields{i}, theValue);%			elseif length(theValue) == 1 & iscell(theValue{1})%				theValue{2} = 1;%				result = setfield(result, theFields{i}, theValue);%			elseif ~isequal(theValue{1}, 'radiobutton') & ...%					~isequal(theValue{1}, 'checkbox')%				theValue{1} = {theValue{1}};%				theValue{2} = 1;%			else%				theValue;%			end%		otherwise%		end%	end%	if nargout > 0, theResult = result; end%	return%end%%[theVal, isOkay] = getinfo(theInfo, theField);%%if nargin == 2%    if nargout > 0%        theResult = theVal;%    else%        disp(theVal)%    end%    return%end%%if ischar(theField) & any(theField == '.')%	theField = [theField '.'];%	f = find(theField == '.');%	theParts = cell(1, length(f));%	k = 0;%	for i = 1:length(f)%		theParts{i} = theField(k+1:f(i)-1);%		k = f(i);%	end%	theField = theParts;%elseif ~iscell(theField)%	theField = {theField};%end%%result = theInfo;%%if ~all(isOkay)   % Create a new field.%    isOkay = 1;%% eval('result = setfield(theInfo, theField, theValue);', 'isOkay = 0;');%    eval('result = setfield(theInfo, theField{:}, theValue);', 'isOkay = 0;');%else   % Update an existing field.%	isokay = 1;%% eval('theVal = getfield(theInfo, theField);', 'isOkay = 0;');%	eval('theVal = getfield(theInfo, theField{:});', 'isOkay = 0;');%	if ~isOkay, theVal = []; end%    switch class(theVal)%	case 'cell'%        if isequal(theVal{1}, 'checkbox') | isequal(theVal{1}, 'radiobutton')%			% Do nothing.%		elseif ~iscell(theVal{1})%			theVal{1} = {theVal{1}};%			theVal{2} = 1;%		end%	end%    switch class(theVal)%    case 'cell'%        if isequal(theVal{1}, 'checkbox') | isequal(theVal{1}, 'radiobutton')%            theVal{2} = any(any(theValue));%        else%			switch class(theValue)%			case 'double'%				if theValue > 0 & theValue <= length(theVal{1})%					theVal{2} = theValue;%				end%			otherwise%            	flag = 0;%	            for i = 1:length(theVal{1})%	                if isequal(theVal{1}{i}, theValue)%	                    theVal{2} = i;%	                    flag = 1%	                end%	            end%	            if ~any(flag)   % Append.%	                theVal{1} = [theVal(:); {theValue}];%	                theVal{2} = length(theVal{1});%	            end%			end%% else%% theVal{1} = [{theValue}; theVal(:)];%        end%    otherwise%        theVal = theValue;%    end%    isOkay = 1;%% eval('result = setfield(theInfo, theField, theVal);', 'isOkay = 0;');%    eval('result = setfield(theInfo, theField{:}, theVal);', 'isOkay = 0;');%end%%if nargout > 0%    theResult = result;%else%    disp(result)%end%%% ---------- uilayout ----------%%%function theResult = uilayout(theControls, theLayout, thePosition)%%% uilayout -- Layout for ui controls.%%  uilayout(theControls, theLayout) positions theControls%%   according to theLayout, an array whose entries, taken%%   in sorted order, define the rectangular extents occupied%%   by each control.  TheLayout defaults to a simple vertical%%   arrangement of theControls.  A one-percent margin is%%   imposed between controls.  To define a layout region%%   containing no control, use Inf.%%  uilayout(..., thePosition) confines the controls to the%%   given normalized position of the figure.  This syntax%%   is useful for embedding controls within a frame.%%  uilayout (no argument) demonstrates itself.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 18-Apr-1997 08:07:54.%% Updated    27-Dec-1999 06:03:57.%%if nargin < 1, theControls = 'demo'; help(mfilename), end%%if strcmp(theControls, 'demo')%   theLayout = [1 2;%                3 4;%                5 Inf;%                5 6;%                5 Inf;%                7 8;%                9 10;%                11 12;%                13 14];%   [m, n] = size(theLayout);%   thePos = get(0, 'DefaultUIControlPosition');%   theSize = [n+2 m+2] .* thePos(3:4);%   theFigure = figure('Name', 'UILayout', ...%                      'NumberTitle', 'off', ...%                      'Resize', 'off', ...%                      'Units', 'pixels');%   thePos = get(theFigure, 'Position');%   theTop = thePos(2) + thePos(4);%   thePos = thePos .* [1 1 0 0] + [0 0 theSize];%   thePos(2) = theTop - (thePos(2) + thePos(4));%   set(theFigure, 'Position', thePos);%   theFrame = uicontrol('Style', 'frame', ...%                        'Units', 'normalized', ...%                        'Position', [0 0 1 1], ...%                        'BackgroundColor', [0.5 1 1]);%   theStyles = {'checkbox'; 'text'; ...%                'edit'; 'text'; ...%                'listbox'; 'text'; ...%                'popupmenu'; 'text'; ...%                'pushbutton'; 'text'; ...%                'radiobutton'; 'text'; ...%                'text'; 'text'};%   theStrings = {'Anchovies?', '<-- CheckBox --', ...%                 'Hello World!', '<-- Edit --', ...%                 {'Now', 'Is', 'The' 'Time' 'For' 'All' 'Good', ...%                  'Men', 'To', 'Come' 'To' 'The' 'Aid' 'Of', ...%                  'Their' 'Country'}, ...%                 '<-- ListBox --', ...%                 {'Cheetah', 'Leopard', 'Lion', 'Tiger', 'Wildcat'}, ...%                 '<-- PopupMenu --', ...%                 'Okay', '<-- PushButton --', ...%                 'Cream?', '<-- RadioButton --', ...%                 'UILayout', '<-- Text --'};%   theControls = zeros(size(theStyles));%   for i = 1:length(theStyles)%      theControls(i) = uicontrol('Style', theStyles{i}, ...%                                 'String', theStrings{i}, ...%                                 'Callback', ...%                                 'disp(int2str(get(gcbo, ''Value'')))');%   end%   set(theControls(1:2:length(theControls)), 'BackGroundColor', [1 1 0.5])%   set(theControls(2:2:length(theControls)), 'BackGroundColor', [0.5 1 1])%   thePosition = [1 1 98 98] ./ 100;%   uilayout(theControls, theLayout, thePosition)%   set(theFrame, 'UserData', theControls)%   theStyles, theLayout, thePosition%   if nargout > 0, theResult = theFrame; end%   return%end%%if nargin < 2, theLayout = (1:length(theControls)).'; end%if nargin < 3, thePosition = [0 0 1 1]; end%%a = theLayout(:);%a = a(finite(a));%a = sort(a);%a(diff(a) == 0) = [];%%b = zeros(size(theLayout));%%for k = 1:length(a)%   b(theLayout == a(k)) = k;%end%%[m, n] = size(theLayout);%%set(theControls, 'Units', 'Normalized')%theMargin = [1 1 -2 -2] ./ 100;%for k = 1:min(length(theControls), length(a))%   [i, j] = find(b == k);%   xmin = (min(j) - 1) ./ n;%   xmax = max(j) ./ n;%   ymin = 1 - max(i) ./ m;%   ymax = 1 - (min(i) - 1) ./ m;%   thePos = [xmin ymin (xmax-xmin) (ymax-ymin)] + theMargin;%   thePos = thePos .* thePosition([3 4 3 4]);%   thePos(1:2) = thePos(1:2) + thePosition(1:2);%   set(theControls(k), 'Position', thePos);%end%%if nargout > 0, theResult = theControls; end%%% ---------- hint ----------%%%function theResult = hint(theText, theFigureName)%%% hint -- Post a message.%%  hint('theText', 'theFigureName') posts 'theText' in the%%   figure named 'theFigureName', which will be created if%%   it does not already exist.  The text can be a string%%   separated by newlines, or a cell of strings.%%  hint('demo') demonstrates itself.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 17-Dec-1999 11:31:03.%% Updated    04-Jan-2000 13:40:41.%%if nargin < 1, theText = 'demo'; end%%if isequal(theText, 'demo')%	hint(help(mfilename), 'Hint Hint')%	return%end%%CR = char(13);%LF = char(10);%CRLF = [CR LF];%%if nargout > 0, theResult = []; end%if nargin < 1%	help(mfilename)%	theText = help(mfilename);%	for i = 1:3%		theText = [theText theText];%	end%end%if nargin < 2, theFigureName = 'Help'; end%%if min(size(theText)) == 1%	theText = theText(:).';%end%%if ischar(theText) & size(theText, 1) == 1%	theText = strrep(theText, CRLF, CR);%	theText = strrep(theText, LF, CR);%	if theText(end) ~= CR, theText(end+1) = CR; end%	if theText(1) ~= CR, theText = [CR theText]; end%	f = find(theText == CR);%	if any(f)%		s = cell(length(f)-1, 1);%		for i = 1:length(f)-1%			if f(i)+1 < f(i+1)-1%				s{i} = theText(f(i)+1:f(i+1)-1);%			else%				s{i} = ' ';%			end%		end%		theText = s;%	end%end%%theLineCount = size(theText, 1);%%theFigure = findobj( ...%					'Type', 'figure', ...%					'Name', theFigureName, ...%					'Tag', [mfilename ' hint'] ...%					);%if isempty(theFigure)%	theFigures = findobj('Type', 'figure');%	if any(theFigures)%		thePosition = get(gcf, 'Position');%		left = thePosition(1);%		top = thePosition(2) + thePosition(4);%	end%	theFigure = figure( ...%					'Name', theFigureName, ...%					'Tag', mfilename, ...%					'Visible', 'off' ...%					);%	if any(theFigures)%		set(theFigure, 'Position', thePosition + [20 -20 0 0])%	end%end%%delete(get(theFigure, 'Children'))%%theColor = [9 9 9]/10;%theFontName = 'Courier';%if any(findstr(lower(computer), 'mac'))%	theFontName = 'Monaco';%end%theFontSize = 12;%theListBox = uicontrol( ...%				theFigure, ...%				'Style', 'listbox', ...%				'String', theText, ...%				'FontName', theFontName, ...%				'FontSize', theFontSize, ...%				'HorizontalAlignment', 'left', ...%				'BackgroundColor', theColor ...%				);%%uilayout(theListBox, 1)%%set(theFigure, 'Visible', 'on')%figure(theFigure)%%if nargout > 0%	theResult = theFigure;%endfclose(fout);disp(' ## Installing: "hello.m" (text)')fout = fopen('hello.m', 'w');%function theResult = hello(varargin)%%% hello -- Display a message.%%  hello(theMessage) displays 'hello' plus theMessage.%%   If called from a subroutine, the line-number and%%   function-name are included in the display.%%% Copyright (C) 1996 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without written consent from the%%    copyright owner does not constitute publication.%%% Updated    03-May-2001 19:11:40.%%if nargin < 1, theMessage = ''; end%%[stack, index] = dbstack;%%if length(stack) > 1%	stack = stack(2);%else%	stack = [];%	stack.line = 0;%	stack.name = '';%end%%if ~isempty(stack.name)%	s = [' ## hello at "' stack.name '" line ' int2str(stack.line)];%else%	s = [' ## hello'];%end%%for i = 1:length(varargin)%   s = [s ' ' mat2str(varargin{i})];%end%%if nargout < 1%	disp(s)%else%	theResult = s;%endfclose(fout);disp(' ## Installing: "hint.m" (text)')fout = fopen('hint.m', 'w');%function theResult = hint(theText, theFigureName)%%% hint -- Post a message.%%  hint('theText', 'theFigureName') posts 'theText' in the%%   figure named 'theFigureName', which will be created if%%   it does not already exist.  The text can be a string%%   separated by newlines, or a cell of strings.%%  hint('demo') demonstrates itself.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 17-Dec-1999 11:31:03.%% Updated    04-Jan-2000 13:40:41.%%if nargin < 1, theText = 'demo'; end%%if isequal(theText, 'demo')%	hint(help(mfilename), 'Hint Hint')%	return%end%%CR = char(13);%LF = char(10);%CRLF = [CR LF];%%if nargout > 0, theResult = []; end%if nargin < 1%	help(mfilename)%	theText = help(mfilename);%	for i = 1:3%		theText = [theText theText];%	end%end%if nargin < 2, theFigureName = 'Help'; end%%if min(size(theText)) == 1%	theText = theText(:).';%end%%if ischar(theText) & size(theText, 1) == 1%	theText = strrep(theText, CRLF, CR);%	theText = strrep(theText, LF, CR);%	if theText(end) ~= CR, theText(end+1) = CR; end%	if theText(1) ~= CR, theText = [CR theText]; end%	f = find(theText == CR);%	if any(f)%		s = cell(length(f)-1, 1);%		for i = 1:length(f)-1%			if f(i)+1 < f(i+1)-1%				s{i} = theText(f(i)+1:f(i+1)-1);%			else%				s{i} = ' ';%			end%		end%		theText = s;%	end%end%%theLineCount = size(theText, 1);%%theFigure = findobj( ...%					'Type', 'figure', ...%					'Name', theFigureName, ...%					'Tag', mfilename ...%					);%if isempty(theFigure)%	theFigures = findobj('Type', 'figure');%	if any(theFigures)%		thePosition = get(gcf, 'Position');%		left = thePosition(1);%		top = thePosition(2) + thePosition(4);%	end%	theFigure = figure( ...%					'Name', theFigureName, ...%					'Tag', mfilename, ...%					'Visible', 'off' ...%					);%	if any(theFigures)%		set(theFigure, 'Position', thePosition + [20 -20 0 0])%	end%end%%delete(get(theFigure, 'Children'))%%theColor = [9 9 9]/10;%theFontName = 'Courier';%if any(findstr(lower(computer), 'mac'))%	theFontName = 'Monaco';%end%theFontSize = 12;%theListBox = uicontrol( ...%				theFigure, ...%				'Style', 'listbox', ...%				'String', theText, ...%				'FontName', theFontName, ...%				'FontSize', theFontSize, ...%				'HorizontalAlignment', 'left', ...%				'BackgroundColor', theColor ...%				);%%uilayout(theListBox, 1)%%set(theFigure, 'Visible', 'on')%figure(theFigure)%%if nargout > 0%	theResult = theFigure;%endfclose(fout);disp(' ## Installing: "idle.m" (text)')fout = fopen('idle.m', 'w');%function Idle(theFigure)%%% Idle -- Set the arrow-cursor.%%  Idle(theFigure) sets the arrow-cursor in theFigure.%%   The companion routine is "Busy".% %% Copyright (C) 1996 Dr. Charles R. Denham, ZYDECO.%% All Rights Reserved.%%if ~any(findobj('Type', 'figure')), return, end%%if nargin < 1, theFigure = gcf; end%%set(theFigure, 'Pointer', 'arrow');fclose(fout);disp(' ## Installing: "insidesafe.m" (text)')fout = fopen('insidesafe.m', 'w');%function theResult = insidesafe(x, y, px, py, theChunkSize, theVerboseFlag)%%% insidesafe -- Points in polygon via "inpolygon".%%  insidesafe('demo') demonstrates itself with 100 random points.%%  insidesafe(N) demonstrates itself with N random points (default = 100).%%  insidesafe(x, y, px, py) calls "inpolygon" to determine%%   which (x, y) points are inside the polygon with vertices%%   (px, py).  Result is 1 for inside, 0 for outside, and 0.5%%   for on-the-line.%%  insidesafe(..., theChunkSize) starts in steps of theChunkSize,%%   which is then reduced whenever an "out-of-memory" error is%%   encountered.  The default value is 25.%%  insidesafe(..., theChunkSize, theVerboseFlag) displays progress%%   information if theVerboseFlag is TRUE.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 28-Apr-1999 20:06:47.%% Updated    13-Dec-2001 15:26:09.%%% N.B. -- Another scheme would be to triangulate the polygon,%%  then to use "tsearch" to find points inside the convex hull,%%  which would need to be trimmed to eliminate concave regions%%  at the convex-hull boundary.  Not a simple game.  The first%%  part is very fast, but the culling is dreadfully slow.%%DEFAULT_CHUNK_SIZE = 25;  % <== Adjust as needed.%DEFAULT_VERBOSE_FLAG = ~~0;   % Verbosity.%%% Demonstration.%%if nargin < 1, x = 'demo'; help(mfilename), end%if isequal(x, 'demo'), x = 100; end%if ischar(x), x = eval(x); end%if length(x) == 1 & nargin < 4%	px = [0 1 1 0 0]/2;%	py = [0 0 1 1 0]/2;%	n = x;%	x = rand(1, n);%	y = rand(size(x));%	tic%	result = insidesafe(x, y, px, py, DEFAULT_CHUNK_SIZE, 0);%	t = toc;%	disp([' ## Elapsed time: ' num2str(t) ' s.'])%	in = (result == 1);%	on = (result == 0.5);%	out = (result == 0);%	h = plot(px, py, 'b-', x(in), y(in), 'g+', ...%				x(on), y(on), 'b*', x(out), y(out), 'ro');%	%	s = {'polygon'};%	if any(in), s{end+1} = 'inside'; end%	if any(on), s{end+1} = 'on-edge'; end%	if any(out), s{end+1} = 'outside'; end%	legend(h, s{:})%	%	figure(gcf)%	set(gcf, 'Name', [mfilename ' ' int2str(n)])%	try, zoomsafe, catch, end%	%	return%end%%if nargin < 4, help(mfilename), return, end%if nargin < 5, theChunkSize = DEFAULT_CHUNK_SIZE; end%if nargin < 6, theVerboseFlag = DEFAULT_VERBOSE_FLAG; end%%px = px(:); py = py(:);%if length(px) ~= length(py)%	error(' ## Polygon px and py must be same length.')%end%%if length(x) == 1, x = x + zeros(size(y)); end%if length(y) == 1, y = y + zeros(size(x)); end%%result = zeros(size(x));%kmax = prod(size(result));%%okay = 1;%%tic%%milestone = kmax - rem(kmax, theChunkSize);%%k = 0;%while k < kmax%	if theVerboseFlag%		remaining = kmax - k;%		if k > 0 & remaining < milestone%			time = remaining * toc / k;%			disp([' ## ' mfilename ': Remaining: ' int2str(remaining) ...%						' points; ' int2str(time) ' seconds.'])%			milestone = milestone - 4*theChunkSize;%		end%	end%	i = k+1:min(k+theChunkSize, kmax);%	try%		result(i) = inpolygon(x(i), y(i), px, py);%		k = k + theChunkSize;%	catch%		if findstr(lower(lasterr), 'memory')%			lasterr('')%			theChunkSize = floor(theChunkSize / 2);%			if theVerboseFlag%				disp([' ## ' mfilename ': Chunk-size reduced to: ' ...%						int2str(theChunkSize)])%				tic%			end%			if theChunkSize < 1%				error([' ## ' mfilename ': Chunk-size reduced to zero.'])%			end%		else%			okay = 0;%			break%		end%	end%end%%if ~okay%	if isempty(lasterr)%		error([' ## Interrupted.'])%	else%		error([' ## ' lasterr])%	end%end%%if nargout > 0%	theResult = result;%else%	disp(result)%endfclose(fout);disp(' ## Installing: "isccw.m" (text)')fout = fopen('isccw.m', 'w');%function theResult = isccw(x, y);%%% isccw -- Is this polygon counter-clockwise?%%  isccw(x, y) returns TRUE if the (x, y) polygon%%   points are in counter-clockwise sequence;%%   else, FALSE.% %% Copyright (C) 2002 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 26-Sep-2002 11:49:37.%% Updated    26-Sep-2002 11:49:37.%%if nargin < 1, help(mfilename), return, end%%if nargin == 1%    y = imag(x);%    x = real(x);%end%%x(end+1) = x(1);%y(end+1) = y(1);%x = x(:).';%y = y(:);%%area = (x(1:end-1)*y(2:end) - x(2:end)*y(1:end-1))/2;%%result = (area > 0);%%if nargout > 0%    theResult = result;%else%    disp(result)%    assignin('caller', 'ans', result)%endfclose(fout);disp(' ## Installing: "ismac.m" (text)')fout = fopen('ismac.m', 'w');%function theResult = ismac%%% ismac -- Is this computer a Macintosh?%%  ismac (no argument) returns TRUE if%%   the present computer is a Macintosh.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 21-May-1999 14:46:29.%%c = computer;%%result = all(c(1:2) == 'MA');%%if nargout > 0%	theResult = result;%else%	disp(result)%endfclose(fout);disp(' ## Installing: "ispc.m" (text)')fout = fopen('ispc.m', 'w');%function result = ispc%%ISPC True for the PC (Windows) version of MATLAB.%%   ISPC returns 1 for PC (Windows) versions of MATLAB and 0 otherwise.%%%   Copyright 1984-2002 The MathWorks, Inc. %%   $Revision: 1.4 $  $Date: 2002/04/08 20:51:21 $%%result = strncmp(computer,'PC',2);fclose(fout);disp(' ## Installing: "labelsafe.m" (text)')fout = fopen('labelsafe.m', 'w');%function theResult = LabelSafe(theLabel)%%% LabelSafe -- Safe label for axes.%%  LabelSafe('theLabel') modifies 'theLabel' by%%   "escaping" instances of '\', '_', and '\^',%%   after removing all instances of char(0) and '\0'.%%   Existing escapes remain intact.   The result is%%   suitable as a title or axis label on a graph.%%  LabelSafe (no argument) demonstrates itself.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 01-Aug-1997 14:37:55.%% Version of 17-Nov-1997 13:35:12.%%if nargin < 1%   help(mfilename)%   label = '\0_hello\world^';%   result = labelsafe(label);%   begets(mfilename, 1, label, result)%   return%end%%result = theLabel;%%if ~isempty(result)%   result = strrep(result, char(0), '');%   result = strrep(result, '\0', '');%%   result = strrep(result, '\\', char(1));%   result = strrep(result, '\_', char(2));%   result = strrep(result, '\^', char(3));%%   result = strrep(result, '\', '\\');%   result = strrep(result, '_', '\_');%   result = strrep(result, '^', '\^');%%   result = strrep(result, char(1), '\\');%   result = strrep(result, char(2), '\_');%   result = strrep(result, char(3), '\^');%end%%if ~isempty(result)%   f = find(result ~= ' ');%   if any(f)%      result = result(f(1):f(length(f)));%   end%end%%if nargout > 0%   theResult = result;%   else%   disp(result)%endfclose(fout);disp(' ## Installing: "linticks.m" (text)')fout = fopen('linticks.m', 'w');%function theResult = linticks(theMin, theMax, theTickCount)%%% linticks -- Tick positions within a range.%%  linticks(theMin, theMax, theTickCount) returns a vector%%   of tick positions that span the interval from theMin%%   to theMax, with theTickCount or fewer elements.%%   Based on the "goodscales" scheme used by the Matlab%%   "plotyy" routine.% %% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 08-Feb-2000 21:27:14.%% Updated    08-Feb-2000 21:27:14.%%if nargout > 0, theResult = []; end%%if nargin < 1, help(mfilename), return, end%%if ischar(theMin), theMin = eval(theMin); end%if ischar(theMax), theMax = eval(theMax); end%if ischar(theTickCount), theTickCount = eval(theTickCount); end%%[low, high, ticks] = goodscales(theMin, theMax);%%f = find(ticks <= theTickCount);%if any(f)%	f = f(1);%	result = linspace(low(f), high(f), ticks(f));%	result(abs(result) < sqrt(eps)) = 0;%end%%if nargout > 0%	theResult = result;%else%	assignin('caller', 'ans', result)%	disp(result)%end%%%% ---------- goodscales ---------- %%%%function [low, high, ticks] = goodscales(xmin, xmax)%%% GOODSCALES -- Returns parameters for "good" scales.%%  [LOW, HIGH, TICKS] = GOODSCALES(XMIN, XMAX) returns lower and upper%%   axis limits (LOW and HIGH) that span the interval (XMIN, XMAX) %%   with "nice" tick spacing.  The number of major axis ticks is %%   returned in TICKS.%%% ** Liberated from "plotyy.m".%%% Modifications:%% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 08-Feb-2000 20:50:36.%% Updated    08-Feb-2000 21:16:45.%%if nargin < 1, help(mfilename), return, end%%if ischar(xmin), xmin = eval(xmin); end%if ischar(xmax), xmax = eval(xmax); end%%BestDelta = [ 0.1 0.2 0.5 1 2 5 10 20 50 ];%%xmin = min(xmin(:));%xmax = max(xmax(:));%%if xmin == xmax%	lo = xmin;%	high = xmax + 1;%	ticks = 1;%else%	Xdelta = xmax-xmin;%	delta = 10.^(round(log10(Xdelta) - 1)) * BestDelta;%	high = delta .* ceil(xmax ./ delta);%	lo = delta .* floor(xmin ./ delta);%	ticks = round((high - lo) ./ delta) + 1;%end%%if nargout > 0%	low = lo;%elseif nargout == 1%	low = [lo; high; ticks];%else%	disp([lo; high; ticks])%endfclose(fout);disp(' ## Installing: "mexrect2grid.m" (text)')fout = fopen('mexrect2grid.m', 'w');%function [result, error_norm] = mexrect2grid(z, zrect, theCorners, theSize)%%% mexrect2grid -- Orthogonal grid from RECT result via mex-files.%%  [result, error_norm] = mexrect2grid(z, zrect, theCorners, theSize)%%   produces a curvilinear orthogonal grid by interpolating the%%   complex contour z, using zrect, the result of applying the%%   conformal mapper RECT to z for theCorners (indices).  If zrect%%   is empty, the RECT routine is called to compute it.  If zrect%%   is a scalar, that number of RECT iterations will be performed.%%   The size of the w output grid (complex matrix), including the%%   perimeter, is determined by theSize.  The returned error_norm%%   is the norm of the respective laplacians.  This routine uses%%   the "mexrect" and "mexsepeli" mex-files if available; otherwise,%%   it calls the "rect" and "fps" m-files.%%  mexrect2grid(nPoints) demonstrates itself with a random z contour%%   of nPoints (default = 20).% %% Copyright (C) 1998 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 21-Oct-1998 20:50:16.%% Updated    09-Jun-1999 10:24:25.%%if nargin < 1, help(mfilename), z = 'demo'; end%if isequal(z, 'demo'), z = 20; end%if ischar(z), z = eval(z); end%%if length(z) == 1%	n = z;%	z = rand(n, 1) + sqrt(-1)*rand(n, 1);%	z = z - mean(z);%	a = angle(z);%	[a, i] = sort(a);%	jitter = 0.1;%	z = (1 + jitter * rand(size(a))) .* exp(sqrt(-1)*a);%	[ignore, nn] = sort(rand(1, length(z)-1));%	theCorners = sort([1 nn(1:3)+1]);%	theSize = 2*[n n];%	zrect = [];%	tic%	[w, err] = feval(mfilename, z, zrect, theCorners, ceil(theSize/2));%	disp([' ## Elapsed time: ' num2str(toc) ' seconds.'])%	if ~isempty(w)%		u = real(w); v = imag(w);%		u_err = real(err); v_err = imag(err);%		x = real(z); y = imag(z);%		x = [x; x(1)]; y = [y; y(1)];  % Make closed curve.%		u1 = u(:, 2:end-1);   % Trim the grid.%		v1 = v(:, 2:end-1);%		u2 = u(2:end-1, :).';%		v2 = v(2:end-1, :).';%		h = plot(u1, v1, 'g-', u2, v2, 'b-');%		hold on%		plot(x, y, 'r-', ...%				x(theCorners), y(theCorners), 'ro', ...%				x(theCorners(1)), y(theCorners(1)), 'r*')%		hold off%		xlabel('x'), ylabel('y')%		theCommand = [mfilename ' ( ' int2str(n) ' )'];%		title(theCommand)%		set(gcf, 'ButtonDownFcn', theCommand)%		figure(gcf)%		axis equal%		zoomsafe 0.9, zoomsafe%	end%	error_norm = [real(err) imag(err)];%	if nargout > 0%		result = w;%	else%		disp([' ## error_norm = ' sprintf('%0.4g %0.4gi', error_norm)])%	end%	return%end%%% Check for mex-files "mexrect" and "mexsepeli".%%hasMex = (exist('mexrect', 'file') == 3) & ...%			(exist('mexsepeli', 'file') == 3);%%% If no actual "zrect" is given, apply RECT until%%  the straightness of the result deviates from%%  1.0 by no more than 0.1 percent.%%if length(zrect) < 2%	if length(zrect) == 1%		ntimes = zrect;%	else%		ntimes = ceil(sqrt(length(z)));%	end%	zrect = z(:);%	tolerance = 0.001;%	for i = 1:ntimes%		if ~hasMex%			[zrect, straight] = feval('rect', zrect, 1, theCorners);%		else%			zrect = feval('mexrect', zrect, length(zrect), ...%				theCorners(1), theCorners(2), theCorners(3), theCorners(4));%			ztemp = zrect;%			ztemp(end+1) = ztemp(1);%			ctemp = theCorners;%			ctemp(end+1) = ctemp(1);%			num = sum(abs(diff(ztemp(ctemp))));%			den = sum(abs(diff(ztemp)));%			straight = num./den;%		end%		if norm(1-straight) <= tolerance, break, end%		disp([' ## RECT Iteration ' int2str(i) ...%				': straightness = ' num2str(straight*100) ' percent.'])%	end%	if norm(1-straight) > tolerance%		disp([' ## rect2grid: Conformal mapping not successful'])%		disp(['               after ' int2str(ntimes) ' iterations.'])%		if nargout > 0, result = []; error_norm = []; end%		return%	end%end%%% Desired size.%%if length(theSize) == 1, theSize = theSize * [1 1]; end%%m = theSize(1); n = theSize(2);%%% Get indices of matrix perimeter.%%temp = zeros(theSize);%temp(:) = 1:prod(theSize);%%ind = [];%ind = [ind; temp(1:m-1, 1)];%ind = [ind; temp(m, 1:n-1).'];%ind = [ind; temp(m:-1:2, n)];%ind = [ind; temp(1, n:-1:1).'];%%% Interpolate around the "zrect" boundary%%  as a function of distance along the physical%%  boundary.%%zrect = zrect(:).';%zrect(end+1) = zrect(1);%%rdist = [0 cumsum(abs(diff(zrect)))];%rdist = rdist - min(rdist); rdist = rdist / max(rdist);%%z = z(:).';%z(end+1) = z(1);%c = theCorners;%c(end+1) = length(z);%%d = cumsum([1 m-1 n-1 m-1 n-1]);    % Corners around the matrix.%%zi = zeros(size(ind));%%slopeFlag = 1;%%for i = 1:4%	j = c(i):c(i+1);   % Data corners.%	k = d(i):d(i+1);   % Matrix corners.%	rd = rdist(j); rd = rd - min(rd); rd = rd / max(rd);%	if i == 1%		pp = splinep(linspace(0, 1, length(rd)), rd, slopeFlag);%		rd1 = ppval(pp, linspace(0, 1, m));%		pp = splinep(rd, z(j), slopeFlag);%		zi(k) = ppval(pp, rd1);%	elseif i == 2%		pp = splinep(linspace(0, 1, length(rd)), rd, slopeFlag);%		rd2 = ppval(pp, linspace(0, 1, n));%		pp = splinep(rd, z(j), slopeFlag);%		zi(k) = ppval(pp, rd2);%	elseif i == 3%		pp = splinep(rd, z(j), slopeFlag);%		zi(k) = ppval(pp, fliplr(1 - rd1));%	elseif i == 4%		pp = splinep(rd, z(j), slopeFlag);%		zi(k) = ppval(pp, fliplr(1 - rd2));%	end%end%%% Sprinkle interpolated values along the perimeter.%%u = zeros(theSize); v = zeros(theSize);%u(ind) = real(zi); v(ind) = imag(zi);%%% Aspect ratio of the rectangle.%%if (1)%	dx = 1; dy = 1;   % Square.%else%	dx = abs(zrect(2)-zrect(1)) / m;   % Rectangle.%	dy = abs(zrect(3)-zrect(2)) / n;   % Rectangle.%end%%% Solve Laplace's equation inside the boundary.%%% NOTE: When using "mexsepeli" with uneven grid-spacings,%%  we get an unexpected distortion in the grid, first%%  pointed out to me by Kate Hedstrom.  The "fps" scheme%%  continues to work fine, because we interpolate the%%  uneven spacings.  Perhaps, it would make sense to%%  do the same with "mexsepeli".%%if ~hasMex%	isSlope = 0;%	u = feval('fps', u, isSlope, dx, dy);%	v = feval('fps', v, isSlope, dx, dy);%else   % Use MEXSEPELI.%	l2 = m-1;%	m2 = n-1;%	seta = rdist(c(2):c(3));%	sxi = rdist(c(1):c(2));%	[u, v] = feval('mexsepeli', u, v, l2, m2, seta, sxi);%end%%w = u + sqrt(-1)*v;%%if nargout > 0%	result = w;%else%	disp(w)%end%%if nargout > 1%	del2_u = 4*del2(u);%	err_norm_u = norm(del2_u(2:end-1, 2:end-1));%	del2_v = 4*del2(v);%	err_norm_v = norm(del2_v(2:end-1, 2:end-1));%	error_norm = err_norm_u + sqrt(-1).*err_norm_v;%endfclose(fout);disp(' ## Installing: "monocline.m" (text)')fout = fopen('monocline.m', 'w');%function y = monocline(n, center, width, left, right)%%% monocline -- Monocline-like distribution function.%%  monocline(n, center, width, left, right) returns n points%%   on the range [0...1], distributed with the given transition%%   center, width (st.dev.), left-side density, and right-side%%   density (both relative).  The distribution is generated by%%   "erf()".  Defaults: center = 0.5, width = 0.1, left = 1,%%   right = 2.%%  monocline(x, ...) assumes that x is "linspace(0, 1, n)".%%  monocline('demo') demonstrates itself for n = 51.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 01-Sep-1999 10:05:23.%% Updated    01-Sep-1999 16:59:22.%%if nargin < 1, help(mfilename), n = 'demo'; end%%% Demonstration.%%if isequal(n, 'demo')%	n = 51;%	center = 0.5;%	width = 0.1;%	left = 1;%	right = 2;%	result = feval(mfilename, n, center, width, left, right);%	x = linspace(0, 1, n);%	plot(x, result, '-', [0*x; 0*x+1], [result; result], 'g-')%	s = [mfilename '(' int2str(n) ', ' num2str(center), ', ' ...%				num2str(width) ', ' num2str(left) ', ' num2str(right) ')'];%	title(s)%	xlabel x%	ylabel y%	grid on%	eval('zoomsafe', '')%	figure(gcf)%	if nargout > 0, y = result; end%	return%end%%% Missing arguments.%%if nargin < 2, center = 0.5; end%if nargin < 3, width = 0.1; end%if nargin < 4, left = 1; end%if nargin < 5, right = 2; end%%% String arguments.%%if ischar(n), n = eval(n); end%if ischar(center), center = eval(center); end%if ischar(width), width = eval(width); end%if ischar(left), left = eval(left); end%if ischar(right), right = eval(right); end%%if length(n) > 1, n = length(n); end%%% ERF and TANH are very similar, differing%%  by about 20% in the independent variable:%%  tanh(x) =~ erf(0.8*x).%%fcn = 'tanh';%fcn = 'erf';%%x = linspace(1/n, 1-1/n, n-1);   % Centered x-values.%%y = feval(fcn, (x-center)/width);   % ERF-like.%%y = (y + 1) / 2;   % ERF on a pedestal.%%% Shift and scale.%%y = left + y * (right-left);   % Unnormalized density.%y = cumsum(y);   % Cumulative unnormalized density.%y = y / max(y);   % Normalize.%y = [0 y];   % Prepend zero starting point.%y(end) = 1;   % Exactly one at end.%%% Reverse interpolate.%%x = linspace(0, 1, n);%y = interp1(y, x, x, 'linear');fclose(fout);disp(' ## Installing: "pdf2tick.m" (text)')fout = fopen('pdf2tick.m', 'w');%function tick = pdf2tick(x, pdf, cdf)%%% pdf2tick -- Convert probability density function to ticks.%%  pdf2tick(x, pdf, tics) returns ticks along [0..1] that%%   conform to the given pdf(x).  The number of ticks or the%%   vector of positions in the cumulative probability function%%   is set by tics (default = 101).  The pdf values represent%%   relative weights, not absolute densities.  They are fit%%   with a spline, integrated, then spline interpolated in%%   reverse to get the result.  If values are not provided%%   for x = 0 or x = 1, they are extrapolated by splines.%%  pdf2tick(ntics, npdf) demonstrates itself with ntics,%%   equally-spaced,  using npdf random pdf values.%%   Defaults are 51 and 5, respectively.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 13-Sep-1999 10:01:10.%% Updated    01-Oct-1999 15:36:14.%%if nargin < 1, help(mfilename), x = 'demo'; end%if isequal(x, 'demo'), x = 51; end%if ischar(x), x = eval(x); end%if nargin > 1 & ischar(pdf), pdf = eval(pdf); end%%isdemo = 0;%%if length(x) == 1%	isdemo = 1;%	cdf = x;%	n = 5;%	if nargin > 1 & length(pdf) == 1%		n = pdf;%	end%	c = 2*n;%	x = linspace(1/c, 1-1/c, c/2);%	pdf = rand(size(x));%	pdf = pdf / max(pdf);%end%%if ~isdemo & nargin < 3, cdf = 101; end%%if length(cdf) == 1%	cdf = linspace(0, 1, cdf);%	cdf(1) = 0; cdf(end) = 1;%end%%cdf = cdf(:).';%%xi = linspace(0, 1, 5*length(cdf));   % Note 5-fold sampling.%yi = splinesafe(x, pdf, xi, 1);%scale = max(yi);%%pdf = pdf / scale;   % For plotting.%yi = yi / scale;%%yi(yi <= 0) = sqrt(eps);%%zi = cumsum(yi);%for i = 2:length(zi)%	if zi(i) < zi(i-1)%		zi(i) = zi(i-1)%	end%end%zi = zi - min(zi);%zi = zi / max(zi);%zi(1) = 0;%zi(end) = 1;%%yi = yi / scale;%pdf = pdf / scale;%%t = splinesafe(zi, xi, cdf, 1);%f = find(t > 1);%if any(f)%	t(f) = 1;%	disp([' ## Out of bounds: ' int2str(length(f))])%end%t(1) = 0;%t(end) = 1;%t = t(:).';%%if nargout > 0%	tick = t;%else%	if isdemo%		plot(x, pdf, '*', xi, yi, '-', xi, zi, '-', ...%				[t; t], [0*t; 0*t+1], 'g-')%		figure(gcf)%		s = [mfilename ' ' int2str(length(t)) ' ' int2str(length(pdf))];%		set(gcf, 'WindowButtonDownFcn', s)%		title(s)%	end%	assignin('caller', 'ans', t)%endfclose(fout);disp(' ## Installing: "printsafe.m" (text)')fout = fopen('printsafe.m', 'w');%function PrintSafe(theFigures, theOptions)%%% PrintSafe -- Safely print figures.%%  PrintSafe(theFigure, 'theOptions') prints theFigures%%   (default = current-figure), using 'theOptions'.  This%%   routine temporarily disables the 'ResizeFcn' property%%   and applies the '-noui' option automatically.  Any%%   additional options are provided in a string that is%%   appended to the "print" command.  For example, use%%   "printsafe(gcf, '-loose') to impose the 'PaperPosition'%%   property of each figure onto the corresponding PostScript%%   "BoundingBox".%%  PrintSafe('theOptions') performs "printsafe(gcf, theOptions)".%%if nargin < 1, help(mfilename), theFigures = gcf; end%if nargin < 2, theOptions = ''; end%%if isstr(theFigures)%   if theFigures(1) ~= '-'%      theFigures = eval(theFigures);%     else%      theOptions = theFigures;%      theFigures = gcf;%   end%end%%f = findobj('Type', 'figure');%if ~any(f), return, end%%theGCF = gcf;%%for k = 1:length(theFigures)%   figure(theFigures(k))%   theResizeFcn = get(theFigures(k), 'ResizeFcn');%   set(theFigures(k), 'Resizefcn', '')%   theCommand = ['print -noui -f' num2str(theFigures(k)) ' ' theOptions];%   eval(theCommand, ['disp(['' ## Not successful '' theCommand])'])%   set(theFigures(k), 'Resizefcn', theResizeFcn)%end%%figure(theGCF)fclose(fout);disp(' ## Installing: "rect.m" (text)')fout = fopen('rect.m', 'w');%function [theResult, theStraightness] = rect(z, ntimes, n1, n2, n3, n4)%%% rect -- Map contour points onto a rectangle.%%  rect(z, ntimes, n1, n2, n3, n4) maps the complex z%%   contour points, in counter-clockwise sequence,%%   onto a unit-rectangle, using ntimes iterations.%%   The n1..n4 are the indices of the four%%   corner-points.%%  [theResult, theStraightness] = rect(...) also%%   returns a measure of straightness, which%%   should be very close to 1.  Convergence can be%%   checked by computing the norm of the difference%%   of two successive iterations.%%  rect(n, ntimes) demonstrates itself with n random%%   points (default is 40) and ntimes iterations%%   (default is sqrt(n)).  The corner-positions%%   are chosen randomly.%%%% Reference: Ives, D.D. and R.M. Zacharias, Conformal%%  mapping and orthogonal grid generation, Paper No.%%  87-2057, AIAA/SAE/ASME/ASEE 23rd Joint Propultion%%  Conference, San Diego, California, June, 1987.%%% The present routine is modified slightly to avoid%%  zero-divides.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 05-Jun-1998 09:07:06.%% Updated    20-Oct-1998 22:21:56.%% Revised    26-Oct-1998 14:29:11.%%if nargin < 1, help(mfilename), z = 'demo'; end%%if isequal(z, 'demo'), z = 40; end%%if isstr(z), z = eval(z); end%%if length(z) == 1%	if nargin < 2, ntimes = ceil(sqrt(z)); end%	if ischar(ntimes), ntimes = eval(ntimes); end%	n = fix((z+3)/4) .* 4;%	x = rand(1, n) - 0.5;%	y = rand(1, n) - 0.5;%	z = x + sqrt(-1) .* y;%	[a, ind] = sort(angle(z));%	z = z(ind);%	z = z + exp(sqrt(-1).*a);%	z = 10 * z;%	if (0)%		nn = round([1 n/4 2*n/4 3*n/4]);%	else   % Random corner-points.%		[s, index] = sort(rand(1, length(z)-1));%		nn = [1 (sort(index(1:3))+1)];%	end%	delete(get(gcf, 'Children'))%	subplot(1, 2, 1)%	plot(real(z), imag(z), '-+', real(z(nn)), imag(z(nn)), 'ro')%	title('Original')%	axis equal%	drawnow%	figure(gcf)%	et = 0;%	result = z;%	for iter = 1:ntimes%		z = result;%		tic%		[result, straightness] = rect(z, 1, nn);%		if ~isfinite(straightness), break, end%		et = et + toc;%		subplot(1, 2, 2)%		plot(real(result), imag(result), '-+', ...%				real(result(nn)), imag(result(nn)), 'ro')%		title(['Mapped by RECT: iteration #' int2str(iter)])%		axis equal%		figure(gcf)%		drawnow%	end%	title(['Mapped by RECT'])%	disp([' ## Elapsed time: ' int2str(et) ' seconds.'])%	if nargout > 0%		theResult = result;%		theStraightness = straightness;%	else%		disp([' ## Straightness: ' num2str(straightness)])%	end%	zoomsafe%	s = [mfilename ' ' int2str(n) ' ' int2str(ntimes)];%	set(gcf, 'ButtonDownFcn', s)%	return%end%%z = z(:);%if z(1) == z(end), z(end) = []; end%n = length(z);%%if nargin < 2, ntimes = 1; end%if nargin == 3 & length(n1) == 4%	n4 = n1(4);%	n3 = n1(3);%	n2 = n1(2);%	n1 = n1(1);%else%	if nargin < 3, n1 = 1; end%	if nargin < 4, n2 = n1 + fix(n/4); end%	if nargin < 5, n3 = n2 + fix(n/4); end%	if nargin < 6, n4 = n3 + fix(n/4); end%end%%nn = [n1 n2 n3 n4];%%r = zeros(size(z));%t = zeros(size(z));%%track_errors = 0;%%for iter = 1:ntimes%	%	if ntimes > 10%		disp([' ## Iterations remaining: ' int2str(ntimes-iter+1)])%	end%%	z_old = z;%	%	for i = 1:n   % The big loop.%		if rem(n-i+1, 100) == 0 & 0%			disp([' ## Remaining: ' int2str(n-i+1)])%		end%		im = n - rem(n-i+1, n);	% Index of previous point.%		ip = 1 + rem(i, n);		% Index of next point.%		zd = 1;%		if z(ip) ~= z(i)%			zd = (z(im) - z(i)) ./ (z(ip) - z(i));%		else%			zd = (z(im) - z(i)) ./ sqrt(eps);%		end%		alpha = atan2(imag(zd), real(zd));   % Current angle.%		if alpha < 0%			alpha = alpha + 2 .* pi;%		elseif alpha == 0%			alpha = sqrt(eps);%		end%		pwr = pi ./ alpha;   % Power for pi outcome.%		if any(i == nn)   % Corners.%			if z(im) ~= z(i)%				zd = (z(im) - z(i)) ./ abs(z(im) - z(i));   % Unit-vector.%			else%				zd = 1;%			end%			z = sqrt(-1) .* z ./ zd;%			pwr = pwr ./ 2;   % Power for pi/2 outcome.%		end%	%% Compute the unwrapped phases.%		%		j = 2:n;%		zd = z(rem(j+i-2, n)+1) - z(i);%		r(j) = abs(zd);%		t(j) = atan2(imag(zd), real(zd)) - 6.*pi;%		if (1)%			t = unwrap1(t);   % Local subroutine.%		else%			t = unwrap(t);   % Matlab subroutine.%		end%		temp = t(2:n).*pwr;%		%		pmax = max(temp);%		pmin = min(temp);%		if pmax ~= pmin%			pwr = min(pwr, 1.98 .* pi .* pwr ./ (pmax - pmin));%		end%		z(i) = 0;%		%		z(rem(j+i-2, n)+1) = r(j).^pwr.*exp(sqrt(-1).*t(j).*pwr);%		zd = 1 ./ (z(n2) - z(n1));  % Possible zero-divide.%		z0 = z(n1);%		z = (z - z0) .* zd;%	end%%% Compute the straightness of the perimeter%%  by comparing the perimeter along the data%%  with the perimeter just around the corners.%%  The mapping may appear to be straight%%  without actually being rectangular.%%	p1 = sum(abs(diff([z(nn); z(nn(1))])));%	p2 = sum(abs(diff([z; z(1)])));%	straightness = p1 ./ p2;%%% Norm of changes as measure of convergence.%%  The mapping may converge without actually%%  producing a rectangular shape.%%	change = 2 .* norm(z - z_old) ./ norm(z + z_old);%%% Progress report.%%	s = round(1000 .* straightness) ./ 10;%	c = round(1000 .* change) ./ 10;%	if nargout < 2 & 0%		disp([' ## ' num2str(s) ' % straight; ' num2str(c) ' % change.'])%	end%	%end%%if track_errors > 0   % Not ever checked.%	disp([' ## Tracking errors: ' int2str(track_errors)])%end%%if nargout > 0%	theResult = z;%	theStraightness = straightness;%else%	disp(z), straightness%end%%%function theResult = unwrap1(p)%%% unwrap1 -- Unwrap radian phases modulo 2*pi.%%  unwrap1(p) performs a modulo-2*pi unwrapping%%   of the phases of radian values p, working%%   columnwise if p is a matrix.%%  unwrap1 (no argument) demonstrates itself.% %% Copyright (C) 1998 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 09-Nov-1998 11:02:40.%%if nargin < 1, help(mfilename), p = 'demo'; end%%if isequal(p, 'demo'), p = 24; end%%if ischar(p), p = eval(p); end%%if length(p) == 1%	m = p;%	p = rand(m, 1)*2*pi;%	r = unwrap1(p);%	t = (1:m).';%	plot(t, p, ':o', t, r, '-o')%	legend('original', 'unwrapped')%	title('unwrap1 demo')%	xlabel('time'), ylabel('phase (radians)')%	figure(gcf)%	return%end%%[oldM, n] = size(p);%if oldM == 1, p = p.'; end%[m, n] = size(p);%%mn = ones(m, 1) * min(p);   % Column-wise minima.%p = rem(p-mn, 2*pi) + mn;   % Flatten to 2*pi range.%d = [p(1, :); diff(p)];   % Differences.%up = (d > pi); down = (d <= -pi);   % Find big jumps.%c = cumsum(down-up)*2*pi;   % Corrections.%result = p+c;%%if oldM == 1, result = result.'; end%%if nargout > 0%	theResult = result;%else%	disp(result)%endfclose(fout);disp(' ## Installing: "rect2grid.m" (text)')fout = fopen('rect2grid.m', 'w');%function [result, error_norm] = rect2grid(z, zrect, ...%											theCorners, theSize)%%% rect2grid -- Orthogonal grid from RECT result.%%  [result, error_norm] = rect2grid(z, zrect, theCorners, theSize)%%   produces a curvilinear orthogonal grid by interpolating the%%   complex contour z, using zrect, the result of applying the%%   conformal mapper RECT to z for theCorners (indices).  If zrect%%   is empty, the RECT routine is called to compute it.  If zrect%%   is a scalar, that number of RECT iterations will be performed.%%   The size of the w output grid (complex matrix), including the%%   perimeter, is determined by theSize.  The returned error_norm%%   is the norm of the respective laplacians.%%  rect2grid(nPoints) demonstrates itself with a random z contour%%   of nPoints (default = 20).% %% Copyright (C) 1998 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 21-Oct-1998 20:50:16.%% Updated    05-Jun-2003 15:43:55.%%% Note: The splined interpolations tend to be too wild%%  for general use here.  The safest method is to sample%%  the z curve at very fine intervals, then use linear%%  interpolation.%%%% Note: Presently, we apply rect to the existing boundary%%  at equal-intervals along the edges, then interpolate%%  to even-intervals in the rect domain, then solve the%%  Poisson system, then interpolate back to the original%%  spacing.  It might make better sense to iteratively%%  apply rect, then resample the original boundary, until%%  the rect-domain itself shows more or less equal-spacing%%  along all edges.  We would adjust one edge before moving%%  to the next.  Then, we would solve the Poisson system,%%  then interpolate backwards as before.  The aim is to avoid%%  crowding of mapped points in the rect-domain, where things%%  are often not very smooth.  If we have to interpolate,%%  let it be restricted to the original domain.%		%% Note: The rectangular mapping itself is based on a boundary%%  composed of linear segments, which implies that any subsequent%%  interpolations within the Poisson solution-grid should be done%%  bi-linearly, rather than via splines.  (The bilinear%%  interpolants of a rectangular grid have Laplacian = 0%%  automatically.)  By extension, the best way to interpolate%%  a Poisson grid is linearly if we are taking the FFT approach.%%% Note: We should think about an iterative scheme is which the%%  points to be mapped are adjusted until the mapping yields%%  a more-or-less equally-spaced distribution.  It will be%%  tricky, because interated-splines are badly behaved.%%if (0)%	theInterpFcn = 'splineq';   % Interpolation function.%	theInterpMethod = 1;   % interpolation method.%else%	theInterpFcn = 'interp1';   % Interpolation function.%	theInterpMethod = 'linear';   % interpolation method.%end%%if nargin < 1, help(mfilename), z = 'demo'; end%if isequal(z, 'demo'), z = 20; end%if ischar(z), z = eval(z); end%%if length(z) == 1%	n = max(z, 4);%	z = rand(n, 1) + sqrt(-1)*rand(n, 1);%	z = z - mean(z);%	a = angle(z);%	[a, i] = sort(a);%	jitter = 0.1;%	z = (1 + jitter * rand(size(a))) .* exp(sqrt(-1)*a);%	[ignore, nn] = sort(rand(1, length(z)-1));%	theCorners = sort([1 nn(1:3)+1]);%	%	k = 1; ktest = n*sqrt(n);%	while k < ktest%		k = 2*k;%	end%	theSize = [k k] + 1;%	%	ztemp = z;%	ztemp(end+1) = z(1);%	z = [];%	c = [theCorners length(ztemp)];%	theCorners = [];%	%	zplot = [];%	%	for i = 1:4%		j = c(i):c(i+1);%		[ji, pp] = splineq(j, ztemp(j), n, 1);%		zitemp = ppval(pp, ji);%		zitemp(end) = [];%		theCorners = [theCorners length(z)+1];%		z = [z zitemp];%	end%	%	if (0)   % Set to 1 to see orthogonality.%		z = rect(z, ceil(sqrt(n)), theCorners);%	end%	%	tic%%	FLAG = 0;%	%	zrect = [];%	%	if FLAG%		zrect = rect(z, ceil(sqrt(n)), theCorners);%	end%	%	[w, err] = rect2grid(z, zrect, theCorners, ceil(theSize/2));%	%	disp([' ## Elapsed time: ' num2str(toc) ' seconds.'])%	%	if ~isempty(w)%		u = real(w); v = imag(w);%		u_err = real(err); v_err = imag(err);%		subplot(1, 1, 1)%		if FLAG, subplot(1, 2, 1), end%		hold off%		h = plot(u, v, 'g-', u.', v.', 'b-');%		hold on%		z(end+1) = z(1);%		x = real(z); y = imag(z);%		plot(x, y, 'bo', ...%				x(theCorners), y(theCorners), 'ro', ...%				x(theCorners(1)), y(theCorners(1)), 'r*')%		hold off%		xlabel('x'), ylabel('y')%		theCommand = [mfilename ' ( ' int2str(n) ' )'];%		title(theCommand)%		set(gcf, 'ButtonDownFcn', theCommand)%		figure(gcf)%		axis equal%		zoomsafe 0.9, zoomsafe%		if FLAG%			subplot(1, 2, 2)%			plot(real(zrect), imag(zrect), '-o')%			axis equal%			zoomsafe 0.9, zoomsafe%		end%	end%	error_norm = [real(err) imag(err)];%	if nargout > 0%		result = w;%	else%		disp([' ## error_norm = ' ...%				sprintf('%0.4g %0.4gi', error_norm)])%	end%	return%end%%% Check for mex-files "mexrect" and "mexsepeli".%%hasMex = (exist('mexrect', 'file') == 3) & ...%			(exist('mexsepeli', 'file') == 3);%			%hasMex = 0;   % Note this override.%%% If no actual "zrect" is given, apply RECT until%%  the straightness of the result deviates from%%  1.0 by no more than 0.001 percent.%%if length(zrect) < 2%	if length(zrect) == 1%		ntimes = zrect;%	else%		ntimes = ceil(sqrt(length(z)));%	end%	zrect = z(:);%	%	tolerance = 0.001;%	tolerance = 0.00001;   % <== tolerance.%	%	for i = 1:ntimes%		if ~hasMex%			[zrect, straight] = feval('rect', zrect, 1, ...%										theCorners);%		else%			zrect = feval('mexrect', zrect, length(zrect), ...%				theCorners(1), theCorners(2), theCorners(3), ...%				theCorners(4));%			ztemp = zrect;%			ztemp(end+1) = ztemp(1);%			ctemp = theCorners;%			ctemp(end+1) = ctemp(1);%			num = sum(abs(diff(ztemp(ctemp))));%			den = sum(abs(diff(ztemp)));%			straight = num./den;%		end%		if norm(1-straight) <= tolerance, break, end%		disp([' ## RECT Iteration ' int2str(i) ...%				': straightness = ' num2str(straight*100) ...%				' percent.'])%	end%		%% Verbose quality of mapping.%%	if (0)%		hello%		non_straight_percent = 100*(1-straight)%		d13 = abs(diff(zrect(theCorners([1 3]))));%		d24 = abs(diff(zrect(theCorners([2 4]))));%		non_rect_percent = 100*2*abs((d13-d24)/(d13+d24))%		fig = gcf;%		f = findobj('Type', 'figure', 'Tag', mfilename);%		if isempty(f)%			f = figure('Name', mfilename', 'Tag', mfilename);%		end%		figure(f)%		plot(real(zrect), imag(zrect), '-o', ...%			real(zrect(theCorners(1))), ...%				imag(zrect(theCorners(1))), '*')%		set(gca, 'XLim', [-0.1 1.1]*max(real(zrect)), ...%				'YLim', [-0.1 1.1]*max(imag(zrect)))%		figure(fig)%		drawnow%	end%%	if norm(1-straight) > tolerance%		disp([' ## rect2grid: Conformal mapping not successful'])%		disp(['               after ' int2str(ntimes) ...%								' iterations.'])%		if nargout > 0, result = []; error_norm = []; end%		return%	end%end%%% Make zrect perfectly rectangular: not necessary.%%if (0)%	x = real(zrect); x = [x(:); x(1)];%	y = imag(zrect); y = [y(:); y(1)];%	c = [theCorners(:); length(x)].';%	y(c(1):c(2)) = 0;%	x(c(2):c(3)) = 1;%	y(c(3):c(4)) = mean(y(c(3):c(4)));%	x(c(4):c(5)) = 0;%	zrect = x(1:end-1) + sqrt(-1)*y(1:end-1);%end%%% Rectangle aspect-ratio.%%  Use this value to improve the orthogonality%%  when we must use "fps.m", our Fourier solver%%  that works only for square grid-cells.%%c = theCorners(3);%rect_aspect_ratio = imag(zrect(c))/real(zrect(c));%disp([' ## rect_aspect_ratio = ' num2str(rect_aspect_ratio)])%%% Desired size.%%if length(theSize) == 1, theSize = theSize * [1 1]; end%theDesiredSize = theSize;%%% Computational size.%%if ~hasMex%    if rect_aspect_ratio > 1%        if theSize(1) > theSize(2)%            theSize(2) = round(theSize(2)*rect_aspect_ratio);%        else%            theSize(1)  = round(theSize(1)/rect_aspect_ratio);%        end%    elseif rect_aspect_ratio < 1%        if theSize(1) > theSize(2)%            theSize(1) = round(theSize(1)/rect_aspect_ratio);%        else%            theSize(2)  = round(theSize(2)*rect_aspect_ratio);%        end%    end%end%%m = theSize(1); n = theSize(2);%%% Get indices of matrix perimeter.%%temp = zeros(theSize);%temp(:) = 1:prod(theSize);%%ind = [];%ind = [ind; temp(1:m-1, 1)];%ind = [ind; temp(m, 1:n-1).'];%ind = [ind; temp(m:-1:2, n)];%ind = [ind; temp(1, n:-1:1).'];%%% Interpolate around the "zrect" boundary%%  as a function of distance along the physical%%  boundary.%%rdist = [0; cumsum(abs(diff([zrect(:); zrect(1)])))];%rdist = rdist - min(rdist); rdist = rdist / max(rdist);%%z(end+1) = z(1);%x = real(z);%y = imag(z);%%c = [theCorners(:); length(x)].';   % Physical and mapped corners.%d = cumsum([1 m-1 n-1 m-1 n-1]);    % Corners around the matrix.%%xi = zeros(size(ind));%yi = zeros(size(ind));%%for i = 1:4%	j = c(i):c(i+1);%	k = d(i):d(i+1);%	rd = rdist(j); rd = rd - min(rd); rd = rd / max(rd);%	xx = x(j);%	yy = y(j);%	dd = k; dd = dd - min(dd); dd = dd / max(dd);%	%	TESTING = 1;   % <== NOTE.%	TESTING = 0;   % <== NOTE.%	%	if TESTING%		[ki, pp] = splineq(j, z(j), length(k), 1);%		zi = ppval(pp, ki);%		xi(k) = real(zi);%		yi(k) = imag(zi);%	else%		xi(k) = feval(theInterpFcn, rd, xx, dd, theInterpMethod).';%		yi(k) = feval(theInterpFcn, rd, yy, dd, theInterpMethod).';%	end%	%end%%if (0)%	hello(mfilename)%	c, y, d = diff(y);%end%%% Sprinkle interpolated values along the perimeter.%%u = zeros(theSize); v = zeros(theSize);%u(ind) = xi; v(ind) = yi;%%% Aspect ratio of the rectangle.%%if (1)%	dx = 1; dy = 1;   % Square.%else%	dx = abs(zrect(2)-zrect(1)) / m;   % Rectangle.%	dy = abs(zrect(3)-zrect(2)) / n;   % Rectangle.%end%%% Solve Laplace's equation inside the boundary.  At this%%  stage, it is slightly advantageous to use arrays u and%%  v whose sizes are a power-of-two plus one.%%if ~hasMex%	isSlope = 0;%	u = fps(u, isSlope);%	v = fps(v, isSlope);%else   % Use MEXSEPELI.%	l2 = m-1;%	m2 = n-1;%	seta = linspace(0, 1, n);%	sxi = linspace(0, 1, m);%	[u, v] = feval('mexsepeli', u, v, l2, m2, seta, sxi);%end%%if ~hasMex & any(theSize ~= theDesiredSize)%    if theSize(1) ~= theDesiredSize(1)%        temp = zeros(theDesiredSize);%    elseif theSize(2) ~= theDesiredSize(2)%        temp = zeros(theDesiredSize);%    end%end%%w = u + sqrt(-1).*v;%%if nargout > 0%	result = w;%else%	disp(w)%end%%if nargout > 1%	del2_u = 4*del2(u);%	err_norm_u = norm(del2_u(2:end-1, 2:end-1));%	del2_v = 4*del2(v);%	err_norm_v = norm(del2_v(2:end-1, 2:end-1));%	error_norm = err_norm_u + sqrt(-1).*err_norm_v;%endfclose(fout);disp(' ## Installing: "rescale.m" (text)')fout = fopen('rescale.m', 'w');%function theResult = rescale(x, xmin, xmax)%%% rescale -- Scale data to a range.%%  rescale(x, xmin, xmax) rescales the values of x%%   to the range [xmin:xmax] (default = [0:1]).%%   (Needs upgrade to handle constant data.)% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 23-Apr-1999 13:19:07.%%if nargin < 1, help(mfilename), return, end%%if nargin < 2, xmin = 0; end%if nargin < 3, xmax = 1; end%%x(:) = x - min(x(:));%x(:) = x ./ max(x(:));%%x = x .* (xmax - xmin) + xmin;%%if nargout > 0%	theResult = x;%else%	disp(x)%endfclose(fout);disp(' ## Installing: "respace.m" (text)')fout = fopen('respace.m', 'w');%function theResult = respace(x, x1, x2)%%% respace -- Re-space values linearly.%%  respace(x, x1, x2) respaces the values of vector x,%%   such that the original x1 is moved to x2 and all%%   the others are correspondingly moved linearly%%   between the end-points.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 23-Apr-1999 13:21:29.%% Updated    25-Aug-1999 07:16:00.%%if nargin < 3, help(mfilename), return, end%%xmin = min(x(:)); x = x - xmin;%xmax = max(x(:)); x = x ./ xmax;%%x1 = (x1 - xmin); x1 = x1 ./ xmax;%x2 = (x2 - xmin); x2 = x2 ./ xmax;%%i = find(x <= x1);%j = find(x > x1);%%x(i) = x(i) .* x2 ./ x1;%x(j) = 1 - (1 - x(j)) .* (1 - x2) ./ (1 - x1);%%result = x .* xmax + xmin;%%if nargout > 0%	theResult = result;%else%	disp(result)%endfclose(fout);disp(' ## Installing: "seagrid2ecom.m" (text)')fout = fopen('seagrid2ecom.m', 'w');%function seagrid2ecom(theSeagridFile, theEcomFile, theSigmaLevels)%%% seagrid2ecom -- Convert "seagrid" output to "ecom" input".%%  seagrid2ecom('theSeagridFile', 'theEcomFile') converts%%   the given SeaGrid file to an "ecom" grid file.  Where%%   filenames are not provided, the "uigetfile/uiputfile"%%   dialogs are invoked.  The data represent a grid with%%   twice as many grid lines as needed for ECOM, so that%%   we can work with cell-centers.%%  seagrid(..., ..., theSigmaLevels) uses the given number%%   of levels or vector of levels.%%   The default is (0:-0.1:-1).% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Jun-1999 15:43:58.%% Updated    13-Jul-2000 15:43:09.%%% Constants.%%RCF = 180 / pi;   % Radian conversion factor.%LAND_CODE = -99999;%%if nargin < 1, theSeagridFile = '*.mat'; end%if nargin < 2, theEcomFile = 'ecom_model_grid.txt'; end%if nargin < 3, theSigmaLevels = 11; end%%if length(theSigmaLevels) == 1 & theSigmaLevels > 1%	theSigmaLevels = linspace(0, 1, theSigmaLevels);%end%%% Get filenames.%%if any(theSeagridFile == '*')%	[f, p] = uigetfile(theSeagridFile, 'Select SeaGrid File:');%	if ~any(f), return, end%	if p(end) ~= filesep, p(end+1) = filesep; end%	theSeagridFile = [p f]%end%%if nargin < 2%	[f, p] = uiputfile(theEcomFile, 'Save to Ecom File:');%	if ~any(f), return, end%	if p(end) ~= filesep, p(end+1) = filesep; end%	theEcomFile = [p f]%end%%disp([' ## SeaGrid Source File  : ' theSeagridFile])%disp([' ## Ecom Destination File: ' theEcomFile])%%% Load input file.%%try%	theSeagridData = load(theSeagridFile, 's');%catch%	disp([' ## Unable to load: "' theSeagridFile '"'])%	return%end%%% Open output file.%%fecom = fopen(theEcomFile, 'w');%%if fecom < 0%	disp([' ## Unable to open: "' theEcomFile '"'])%	disp(' ## If already open elsewhere, please close, then try again.')%	return%end%%% How rigid is the following format?%% For large grid cells, the H1 and H2 fields collide.%%theFormat = ...%	'%4.0f %4.0f %10.2f %10.2f %10.2f %8.1f %8.1f %8.1f %15.6f %15.6f\n';%%s = theSeagridData.s;%%lon = s.geographic_grids{1};%lat = s.geographic_grids{2};%%% Double the grid-size by simle interpolation.%%lon = interp2(lon, 1);%lat = interp2(lat, 1);%%% Cell sizes.%%if (1)%	dx = earthdist(lon(2:2:end, 1:2:end-1), lat(2:2:end, 1:2:end-1), lon(2:2:end, 3:2:end), lat(2:2:end, 3:2:end));%	dy = earthdist(lon(1:2:end-1, 2:2:end), lat(1:2:end-1, 2:2:end), lon(3:2:end, 2:2:end), lat(3:2:end, 2:2:end));%else%	dx = earthdist(lon(:, 1:end-1), lat(:, 1:end-1), lon(:, 2:end), lat(:, 2:end));%	dy = earthdist(lon(1:end-1, :), lat(1:end-1, :), lon(2:end, :), lat(2:end, :));%end%%h1 = dx;   % ECOM nomenclature.%h2 = dy;%%% Cell orientations: need to check indices and directions here.%%dlon = diff(lon.').';%dlat = diff(lat.').';%clat = cos(lat / RCF);%clat(:, end) = [];%ang = atan2(dlat, dlon .* clat) * RCF;%ang = 0.5 * (ang(2:2:end, 1:2:end) + ang(2:2:end, 2:2:end));%%% Geographic cell-centers.%%lon = lon(2:2:end-1, 2:2:end-1);%lat = lat(2:2:end-1, 2:2:end-1);%%% Bathymetry and mask.%%bathymetry = s.gridded_bathymetry;%if isempty(bathymetry)%	bathymetry = zeros(size(lon));%end%%mask = s.mask;%if isempty(mask)%	mask = zeros(size(bathymetry));   % All water.%end%%% Masks.%%mask = ~~mask;   % 1 = land; 0 = water.%land = mask;%water = ~land;%%% Impose LAND_CODE around the edge.%%land([1 end], :) = LAND_CODE;%land(:, [1 end]) = LAND_CODE;%%% Clip and mask the depths.%%min_depth = s.clipping_depths(1);%max_depth = s.clipping_depths(2);%bathymetry(bathymetry < min_depth) = min_depth;%bathymetry(bathymetry > max_depth) = max_depth;%bathymetry(land) = LAND_CODE;%%% Adjust sizes.%%% Which points actually have depths -- centers?%%  Why not keep them all?%%if all(size(bathymetry) > size(lon)) & 0   % No longer.%	bathymetry = bathymetry(2:2:end-1, 2:2:end-1);%end%%% Which points are actually masked -- centers?%%  Why not keep the entire mask?%%if all(size(mask) > size(lon)) & 0   % No longer.%	mask = mask(2:2:end-1, 2:2:end-1);%end%%% Coriolis parameter (use latitude).%%coriolis = lat;%%% Write the number of grid cells.%%[rows, columns] = size(lon);%%try%	fprintf(fecom, 'Created by SeaGrid on %s\n', datestr(now));%	if (1)%		fprintf(fecom, 'Vertical Segmentation - Sigma Levels (KB)\n');%		sigma = theSigmaLevels(:);   % Column vector;%		sigma = sigma(sigma <= 0 & sigma >= -1);%		if ~any(sigma == 0), sigma = [0; sigma]; end%		if ~any(sigma == -1), sigma = [sigma; -1]; end%		sigma = -sort(-sigma);%		fprintf(fecom, '%s\n', int2str(length(sigma)));%		for i = 1:length(sigma)%			fprintf(fecom, '%4.2f\n', sigma(i));%		end%		fprintf(fecom, ...%			'Horizontal Segmentation (IM & JM) -- Grid Information\n');%	end%	fprintf(fecom, '%5i%5i\n', columns, rows);   % Is the order correct?%catch%	disp([' ## ' lasterr])%	fclose(fecom);%	return%end%%% Add a dummy border of masked cells.%%if (0)   % OBSOLETE.%	rows = rows + 2;%	columns = columns + 2;%	%	z = zeros(size(lon)+2);%	%	temp = z; temp(2:end-1, 2:end-1) = h1; h1 = temp;%	temp = z; temp(2:end-1, 2:end-1) = h2; h2 = temp;%	temp = z + LAND_CODE; temp(2:end-1, 2:end-1) = bathymetry; bathymetry = temp;%	temp = z; temp(2:end-1, 2:end-1) = ang; ang = temp;%	temp = z; temp(2:end-1, 2:end-1) = coriolis; coriolis = temp;%	temp = z; temp(2:end-1, 2:end-1) = lon; lon = temp;%	temp = z; temp(2:end-1, 2:end-1) = lat; lat = temp;%end%%% Output the grid.%%for column = 1:columns   % Start at the left.%	remaining = column;%	if remaining == columns | (rem(remaining, 100) == 0)%		disp([' ## Columns remaining: ' int2str(remaining)])%	end%	for row = rows:-1:1   % Start at the bottom.%		try%			i = column;   % ECOM notation: i -> x; j -> y.%			j = rows-row+1;%			fprintf(fecom, theFormat, ...%	          	i, j, ...%			 	h1(row, column), h2(row, column), ...%			  	bathymetry(row, column), ...%			  	ang(row, column), ...%			  	coriolis(row, column), ...%			  	0.0, ...%			  	lon(row, column), lat(row, column));%		catch%			disp([' ## ' lasterr])%			fclose(fecom);%			return%	  	end%	end%end%%fclose(fecom);%%disp(' ## Done.')fclose(fout);disp(' ## Installing: "seagrid2roms.m" (text)')fout = fopen('seagrid2roms.m', 'w');%function seagrid2roms(theSeagridFile, theRomsFile, theGridTitle)%%% seagrid2roms -- Output ROMS format from SeaGrid file.%%  seagrid2roms('theSeagridFile', 'theRomsFile', 'theGridTitle')%%   creates a ROMS file, based on the given SeaGrid file.  The%%   get/put dialog boxes are invoked where filenames are absent%%   or given by a wildcard.%%%% NOTE: this routine does not employ _FillValue attributes%%  in the output NetCDF variables.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 18-Jun-1999 17:11:59.%% Updated    02-Jul-2003 08:49:21.%%RADIAN_CONVERSION_FACTOR = 180/pi;%EARTH_RADIUS_METERS = 6378*1000;   % Equatorial radius.%%if nargin < 1, theSeagridFile = '*.mat'; end%if nargin < 2, theRomsFile = 'roms_grd.nc'; end%if nargin < 3, theGridTitle = char(zeros(1, 128)+abs(' ')); end%%if isempty(theSeagridFile) | any(theSeagridFile == '*')%		 		  [f, p] = uigetfile(theSeagridFile, 'Select SeaGrid File:');%		 		  if ~any(f), return, end%		 		  if p(end) ~= filesep, p(end+1) = filesep; end%		 		  theSeagridFile = [p f]%end%%if nargin < 2 | isempty(theSeagridFile) | any(theRomsFile == '*')%		 		  [f, p] = uiputfile(theRomsFile, 'Save to Roms File:');%		 		  if ~any(f), return, end%		 		  if p(end) ~= filesep, p(end+1) = filesep; end%		 		  theRomsFile = [p f]%end%%disp([' ## SeaGrid Source File  : ' theSeagridFile])%disp([' ## ROMS Destination File: ' theRomsFile])%%% Load the SeaGrid file and get parameters.%%try%		 		  theSeagridData = load(theSeagridFile, 's');%catch%		 		  disp([' ## Unable to load: "' theSeagridFile '"'])%		 		  return%end%%% With grid_x of size [m, n], the grid itself has%%  [m-1, n-1] cells.  The latter size corresponds%%  to the size of the mask and bathymetry.  These%%  cell-centers are called the "rho" points.%%s = theSeagridData.s;%%grid_x = s.grids{1} * EARTH_RADIUS_METERS;%grid_y = s.grids{2} * EARTH_RADIUS_METERS;%[m, n] = size(grid_x);%%geogrid_lon = s.geographic_grids{1};%geogrid_lat = s.geographic_grids{2};%geometry = s.geometry;%%mask = s.mask;   % land = 1; water = 0.%%if ~isequal(size(mask), size(grid_x)-1)%		 		  if ~isempty(mask)%		 		  		 		  disp(' ## Wrong size mask.')%		 		  end%		 		  mask = zeros(m-1, n-1);%end%%mask = ~~mask;%land = mask;%water = ~land;%%bathymetry = s.gridded_bathymetry;%projection = s.projection;%ang = s.orientation * pi / 180;   % ROMS needs radians.%min_depth = s.clipping_depths(1);%max_depth = s.clipping_depths(2);%%% Clip Bathymetry%%bathymetry(find(isnan(bathymetry))) = min_depth;%bathymetry(bathymetry<min_depth) = min_depth;%bathemetry(bathymetry>max_depth) = max_depth;%%spaced_x = s.spaced_grids{1};%spaced_y = s.spaced_grids{2};%%% Double the grid-size before proceeding.%%  The grid-cell-centers are termed the "rho" points.%%theInterpFcn = 'interp2';%theInterpMethod = 'spline';%%grid_x = feval(theInterpFcn, grid_x, 1, theInterpMethod);%grid_y = feval(theInterpFcn, grid_y, 1, theInterpMethod);%geogrid_lon = feval(theInterpFcn, geogrid_lon, 1, theInterpMethod);%geogrid_lat = feval(theInterpFcn, geogrid_lat, 1, theInterpMethod);%spaced_x = feval(theInterpFcn, spaced_x, 1, theInterpMethod);%spaced_y = feval(theInterpFcn, spaced_y, 1, theInterpMethod);%%% The present size of the grid nodes.%%[n, m] = size(grid_x);%%% Flip arrays top for bottom.%%FLIPPING = 1;%%if FLIPPING%		 		  grid_x = flipud(grid_x);%		 		  grid_y = flipud(grid_y);%		 		  geogrid_lon = flipud(geogrid_lon);%		 		  geogrid_lat = flipud(geogrid_lat);%		 		  geometry{1} = flipud(geometry{1});%		 		  geometry{2} = flipud(geometry{2});%		 		  mask = flipud(mask);%		 		  bathymetry = flipud(bathymetry);%		 		  ang = flipud(ang);%% f = flipud(f);%		 		  spaced_x = flipud(spaced_x);%		 		  spaced_y = flipud(spaced_y);%end%%xl = max(grid_x(:)) - min(grid_x(:));%el = max(grid_y(:)) - min(grid_y(:));%%% Create the Roms NetCDF file.%%%% ncdump('priapus:MATLAB:toolbox:Roms:tasman_grd.nc')   %% Generated 17-Jun-1999 17:37:30% %nc = netcdf(theRomsFile, 'clobber');%if isempty(nc), return, end% %%% Global attributes:%%disp(' ## Defining Global Attributes...')% %nc.type = ncchar('Gridpak file');%nc.gridid = theGridTitle;%nc.history = ncchar(['Created by "' mfilename '" on ' datestr(now)]);%%nc.CPP_options = ncchar('DCOMPLEX, DBLEPREC, NCARG_32, PLOTS,');%name(nc.CPP_options, 'CPP-options')%%% The SeaGrid is now a full array, whose height%%  and width are odd-valued.  We extract staggered%%  sub-grids for the Roms scheme, ignoring the%%  outermost rows and columns.  Thus, the so-called%%  "rho" points correspond to the even-numbered points%%  in an (i, j) Matlab array.  The "psi" points begin%%  at i = 3 and j = 3.  The whole set is indexed as%%  follows:%%% rho (2:2:end-1, 2:2:end-1), i.e. (2:2:m, 2:2:n), etc.%% psi (3:2:end-2, 3:2:end-2)%% u   (2:2:end-1, 3:2:end-2)%% v   (3:2:end-2, 2:2:end-1)%%if ~rem(m, 2), m = m-1; end   % m, n must be odd.%if ~rem(n, 2), n = n-1; end%%i_rho = 2:2:m-1; j_rho = 2:2:n-1;%i_psi = 3:2:m-2; j_psi = 3:2:n-2;%i_u   = 3:2:m-2; j_u   = 2:2:n-1;%i_v   = 2:2:m-1; j_v   = 3:2:n-2;%%% The xi direction (left-right):%%LP = (m-1)/2;   % The rho dimension.%L = LP-1;       % The psi dimension.%%% The eta direction (up-down):%%MP = (n-1)/2;   % The rho dimension.%M = MP-1;       % The psi dimension.%%disp(' ## Defining Dimensions...')% %nc('xi_psi') = L;%nc('xi_rho') = LP;%nc('xi_u') = L;%nc('xi_v') = LP;%%nc('eta_psi') = M;%nc('eta_rho') = MP;%nc('eta_u') = MP;%nc('eta_v') = M;%%nc('two') = 2;%nc('bath') = 0; %% (record dimension)% %%% Variables and attributes:%%disp(' ## Defining Variables and Attributes...')% %nc{'xl'} = ncdouble; %% 1 element.%nc{'xl'}.long_name = ncchar('domain length in the XI-direction');%nc{'xl'}.units = ncchar('meter');% %nc{'el'} = ncdouble; %% 1 element.%nc{'el'}.long_name = ncchar('domain length in the ETA-direction');%nc{'el'}.units = ncchar('meter');% %nc{'JPRJ'} = ncchar('two'); %% 2 elements.%nc{'JPRJ'}.long_name = ncchar('Map projection type');%%nc{'JPRJ'}.option_ME_ = ncchar('Mercator');%nc{'JPRJ'}.option_ST_ = ncchar('Stereographic');%nc{'JPRJ'}.option_LC_ = ncchar('Lambert conformal conic');%name(nc{'JPRJ'}.option_ME_, 'option(ME)')%name(nc{'JPRJ'}.option_ST_, 'option(ST)')%name(nc{'JPRJ'}.option_LC_, 'option(LC)')% %nc{'PLAT'} = ncfloat('two'); %% 2 elements.%nc{'PLAT'}.long_name = ncchar('Reference latitude(s) for map projection');%nc{'PLAT'}.units = ncchar('degree_north');% %nc{'PLONG'} = ncfloat; %% 1 element.%nc{'PLONG'}.long_name = ncchar('Reference longitude for map projection');%nc{'PLONG'}.units = ncchar('degree_east');% %nc{'ROTA'} = ncfloat; %% 1 element.%nc{'ROTA'}.long_name = ncchar('Rotation angle for map projection');%nc{'ROTA'}.units = ncchar('degree');% %nc{'JLTS'} = ncchar('two'); %% 2 elements.%nc{'JLTS'}.long_name = ncchar('How limits of map are chosen');%%nc{'JLTS'}.option_CO_ = ncchar('P1, .. P4 define two opposite corners ');%nc{'JLTS'}.option_MA_ = ncchar('Maximum (whole world)');%nc{'JLTS'}.option_AN_ = ncchar('Angles - P1..P4 define angles to edge of domain');%nc{'JLTS'}.option_LI_ = ncchar('Limits - P1..P4 define limits in u,v space');%name(nc{'JLTS'}.option_CO_, 'option(CO)')%name(nc{'JLTS'}.option_MA_, 'option(MA)')%name(nc{'JLTS'}.option_AN_, 'option(AN)')%name(nc{'JLTS'}.option_LI_, 'option(LI)')% %nc{'P1'} = ncfloat; %% 1 element.%nc{'P1'}.long_name = ncchar('Map limit parameter number 1');% %nc{'P2'} = ncfloat; %% 1 element.%nc{'P2'}.long_name = ncchar('Map limit parameter number 2');% %nc{'P3'} = ncfloat; %% 1 element.%nc{'P3'}.long_name = ncchar('Map limit parameter number 3');% %nc{'P4'} = ncfloat; %% 1 element.%nc{'P4'}.long_name = ncchar('Map limit parameter number 4');% %nc{'XOFF'} = ncfloat; %% 1 element.%nc{'XOFF'}.long_name = ncchar('Offset in x direction');%nc{'XOFF'}.units = ncchar('meter');% %nc{'YOFF'} = ncfloat; %% 1 element.%nc{'YOFF'}.long_name = ncchar('Offset in y direction');%nc{'YOFF'}.units = ncchar('meter');% %nc{'depthmin'} = ncshort; %% 1 element.%nc{'depthmin'}.long_name = ncchar('Shallow bathymetry clipping depth');%nc{'depthmin'}.units = ncchar('meter');% %nc{'depthmax'} = ncshort; %% 1 element.%nc{'depthmax'}.long_name = ncchar('Deep bathymetry clipping depth');%nc{'depthmax'}.units = ncchar('meter');% %nc{'spherical'} = ncchar; %% 1 element.%nc{'spherical'}.long_name = ncchar('Grid type logical switch');%nc{'spherical'}.option_T_ = ncchar('spherical');%nc{'spherical'}.option_F_ = ncchar('Cartesian');%name(nc{'spherical'}.option_T_, 'option(T)')%name(nc{'spherical'}.option_F_, 'option(F)')% %nc{'hraw'} = ncdouble('bath', 'eta_rho', 'xi_rho'); %% 0 elements.%nc{'hraw'}.long_name = ncchar('Working bathymetry at RHO-points');%nc{'hraw'}.units = ncchar('meter');%nc{'hraw'}.field = ncchar('bath, scalar');% %nc{'h'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'h'}.long_name = ncchar('Final bathymetry at RHO-points');%nc{'h'}.units = ncchar('meter');%nc{'h'}.field = ncchar('bath, scalar');% %nc{'f'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'f'}.long_name = ncchar('Coriolis parameter at RHO-points');%nc{'f'}.units = ncchar('second-1');%nc{'f'}.field = ncchar('Coriolis, scalar');% %nc{'pm'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'pm'}.long_name = ncchar('curvilinear coordinate metric in XI');%nc{'pm'}.units = ncchar('meter-1');%nc{'pm'}.field = ncchar('pm, scalar');% %nc{'pn'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'pn'}.long_name = ncchar('curvilinear coordinate metric in ETA');%nc{'pn'}.units = ncchar('meter-1');%nc{'pn'}.field = ncchar('pn, scalar');% %nc{'dndx'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'dndx'}.long_name = ncchar('xi derivative of inverse metric factor pn');%nc{'dndx'}.units = ncchar('meter');%nc{'dndx'}.field = ncchar('dndx, scalar');% %nc{'dmde'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'dmde'}.long_name = ncchar('eta derivative of inverse metric factor pm');%nc{'dmde'}.units = ncchar('meter');%nc{'dmde'}.field = ncchar('dmde, scalar');% %nc{'x_rho'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'x_rho'}.long_name = ncchar('x location of RHO-points');%nc{'x_rho'}.units = ncchar('meter');% %nc{'y_rho'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'y_rho'}.long_name = ncchar('y location of RHO-points');%nc{'y_rho'}.units = ncchar('meter');% %nc{'x_psi'} = ncdouble('eta_psi', 'xi_psi'); %% 16641 elements.%nc{'x_psi'}.long_name = ncchar('x location of PSI-points');%nc{'x_psi'}.units = ncchar('meter');% %nc{'y_psi'} = ncdouble('eta_psi', 'xi_psi'); %% 16641 elements.%nc{'y_psi'}.long_name = ncchar('y location of PSI-points');%nc{'y_psi'}.units = ncchar('meter');% %nc{'x_u'} = ncdouble('eta_u', 'xi_u'); %% 16770 elements.%nc{'x_u'}.long_name = ncchar('x location of U-points');%nc{'x_u'}.units = ncchar('meter');% %nc{'y_u'} = ncdouble('eta_u', 'xi_u'); %% 16770 elements.%nc{'y_u'}.long_name = ncchar('y location of U-points');%nc{'y_u'}.units = ncchar('meter');% %nc{'x_v'} = ncdouble('eta_v', 'xi_v'); %% 16770 elements.%nc{'x_v'}.long_name = ncchar('x location of V-points');%nc{'x_v'}.units = ncchar('meter');% %nc{'y_v'} = ncdouble('eta_v', 'xi_v'); %% 16770 elements.%nc{'y_v'}.long_name = ncchar('y location of V-points');%nc{'y_v'}.units = ncchar('meter');% %nc{'lat_rho'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'lat_rho'}.long_name = ncchar('latitude of RHO-points');%nc{'lat_rho'}.units = ncchar('degree_north');% %nc{'lon_rho'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'lon_rho'}.long_name = ncchar('longitude of RHO-points');%nc{'lon_rho'}.units = ncchar('degree_east');% %nc{'lat_psi'} = ncdouble('eta_psi', 'xi_psi'); %% 16641 elements.%nc{'lat_psi'}.long_name = ncchar('latitude of PSI-points');%nc{'lat_psi'}.units = ncchar('degree_north');% %nc{'lon_psi'} = ncdouble('eta_psi', 'xi_psi'); %% 16641 elements.%nc{'lon_psi'}.long_name = ncchar('longitude of PSI-points');%nc{'lon_psi'}.units = ncchar('degree_east');% %nc{'lat_u'} = ncdouble('eta_u', 'xi_u'); %% 16770 elements.%nc{'lat_u'}.long_name = ncchar('latitude of U-points');%nc{'lat_u'}.units = ncchar('degree_north');% %nc{'lon_u'} = ncdouble('eta_u', 'xi_u'); %% 16770 elements.%nc{'lon_u'}.long_name = ncchar('longitude of U-points');%nc{'lon_u'}.units = ncchar('degree_east');% %nc{'lat_v'} = ncdouble('eta_v', 'xi_v'); %% 16770 elements.%nc{'lat_v'}.long_name = ncchar('latitude of V-points');%nc{'lat_v'}.units = ncchar('degree_north');% %nc{'lon_v'} = ncdouble('eta_v', 'xi_v'); %% 16770 elements.%nc{'lon_v'}.long_name = ncchar('longitude of V-points');%nc{'lon_v'}.units = ncchar('degree_east');% %nc{'mask_rho'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'mask_rho'}.long_name = ncchar('mask on RHO-points');%nc{'mask_rho'}.option_0_ = ncchar('land');%nc{'mask_rho'}.option_1_ = ncchar('water');%name(nc{'mask_rho'}.option_0_, 'option(0)')%name(nc{'mask_rho'}.option_1_, 'option(1)')% %nc{'mask_u'} = ncdouble('eta_u', 'xi_u'); %% 16770 elements.%nc{'mask_u'}.long_name = ncchar('mask on U-points');%nc{'mask_u'}.option_0_ = ncchar('land');%nc{'mask_u'}.option_1_ = ncchar('water');%name(nc{'mask_u'}.option_0_, 'option(0)')%name(nc{'mask_u'}.option_1_, 'option(1)')%%		 		  nc{'mask_u'}.FillValue_ = ncdouble(1);% %nc{'mask_v'} = ncdouble('eta_v', 'xi_v'); %% 16770 elements.%nc{'mask_v'}.long_name = ncchar('mask on V-points');%nc{'mask_v'}.option_0_ = ncchar('land');%nc{'mask_v'}.option_1_ = ncchar('water');%name(nc{'mask_v'}.option_0_, 'option(0)')%name(nc{'mask_v'}.option_1_, 'option(1)')%%		 		  nc{'mask_v'}.FillValue_ = ncdouble(1);% %nc{'mask_psi'} = ncdouble('eta_psi', 'xi_psi'); %% 16641 elements.%nc{'mask_psi'}.long_name = ncchar('mask on PSI-points');%nc{'mask_psi'}.option_0_ = ncchar('land');%nc{'mask_psi'}.option_1_ = ncchar('water');%name(nc{'mask_psi'}.option_0_, 'option(0)')%name(nc{'mask_psi'}.option_1_, 'option(1)')%%		 		  nc{'mask_psi'}.FillValue_ = ncdouble(1);%%% Now, what about depths: "h" and "hraw".  <== DEPTHS.%%% The following seems mistaken:% %nc{'angle'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'angle'}.long_name = ncchar('angle between xi axis and east');%% nc{'angle'}.units = ncchar('degree');%nc{'angle'}.units = ncchar('radian');%%% Fill the variables with data.%%disp(' ## Filling Variables...')%%switch lower(projection)%case 'mercator'%		 		  theProjection = 'ME';%case 'stereographic'%		 		  theProjection = 'ST';%case 'lambert conformal conic'%		 		  theProjection = 'LC';%end%%% Fill the variables.%%% Need (x..., y...) in meters.  Currently, they are%%  in Mercator (projected) units.%%nc{'JPRJ'}(:) = theProjection;%nc{'spherical'}(:) = 'T';   % T or F -- uppercase okay?%%nc{'xl'}(:) = xl;%nc{'el'}(:) = el;%%f = 2.*7.29e-5.*sin(geogrid_lat(j_rho, i_rho).*pi./180);%nc{'f'}(:) = f;%%nc{'x_rho'}(:) = grid_x(j_rho, i_rho);%nc{'y_rho'}(:) = grid_y(j_rho, i_rho);%%nc{'x_psi'}(:) = grid_x(j_psi, i_psi);%nc{'y_psi'}(:) = grid_y(j_psi, i_psi);%%nc{'x_u'}(:) = grid_x(j_u, i_u);%nc{'y_u'}(:) = grid_y(j_u, i_u);%%nc{'x_v'}(:) = grid_x(j_v, i_v);%nc{'y_v'}(:) = grid_y(j_v, i_v);%%nc{'lon_rho'}(:) = geogrid_lon(j_rho, i_rho);%nc{'lat_rho'}(:) = geogrid_lat(j_rho, i_rho);%%nc{'lon_psi'}(:) = geogrid_lon(j_psi, i_psi);%nc{'lat_psi'}(:) = geogrid_lat(j_psi, i_psi);%%nc{'lon_u'}(:) = geogrid_lon(j_u, i_u);%nc{'lat_u'}(:) = geogrid_lat(j_u, i_u);%%nc{'lon_v'}(:) = geogrid_lon(j_v, i_v);%nc{'lat_v'}(:) = geogrid_lat(j_v, i_v);%%if ~isempty(bathymetry)%    nc{'h'}(:) = bathymetry;%end%%nc{'hraw'}(1, :, :) = nc{'h'}(:, :);%%% Masking.%%mask = ~~mask;%land = mask;%water = ~land;%%rmask = water;%%% Calculate other masking arrays.%%umask = zeros(size(rmask));%vmask = zeros(size(rmask));%pmask = zeros(size(rmask));%%for i = 2:LP%		 		  for j = 1:MP%		 		  		 		  umask(j, i-1) = rmask(j, i) * rmask(j, i-1);%		 		  end%end%%for i = 1:LP%		 		  for j = 2:MP%		 		  		 		  vmask(j-1, i) = rmask(j, i) * rmask(j-1, i);%		 		  end%end%%for i = 2:LP%		 		  for j = 2:MP%		 		  		 		  pmask(j-1, i-1) = rmask(j, i) * rmask(j, i-1) * rmask(j-1, i) * rmask(j-1, i-1);%		 		  end%end%%nc{'mask_rho'}(:) = rmask;%nc{'mask_psi'}(:) = pmask(1:end-1, 1:end-1);%nc{'mask_u'}(:) = umask(1:end, 1:end-1);%nc{'mask_v'}(:) = vmask(1:end-1, 1:end);%%% Average angle -- We should do this via (x, y) components.%%temp = 0.5*(ang(1:end-1, :) + ang(2:end, :));%ang = zeros(n, m);%ang(2:2:end, 2:2:end) = temp;%%nc{'angle'}(:) = ang(j_rho, i_rho);%%if (0)%		 		  sx = abs(spaced_x(:, 2:end) - spaced_x(:, 1:end-1));%		 		  sy = abs(spaced_x(2:end, :) - spaced_x(1:end-1, :));%elseif (0)%		 		  sx = abs(spaced_x(1:2:end, 3:2:end) - spaced_x(1:2:end, 1:2:end-2));%		 		  sy = abs(spaced_y(3:2:end, 1:2:end) - spaced_y(1:2:end-2, 1:2:end));%		 		  sx = 0.5 * (sx(1:end-1, :) + sx(2:end, :));%		 		  sy = 0.5 * (sy(:, 1:end-1) + sy(:, 2:end));%end%%% Use geometry from seagrid file.%% Note: need half the number of points.%%gx = geometry{1};   % Spherical distances in meters.%gy = geometry{2};%%% raw_grid_size = [m, n]%%% geometry_sizes = [size(gx) size(gy)]%%sx = 0.5*(gx(1:end-1, :) + gx(2:end, :));%sy = 0.5*(gy(:, 1:end-1) + gy(:, 2:end));%%% raw_s_sizes = [size(sx) size(sy)]%%% sx = sx(2:end-1, :);%% sy = sy(:, 2:end-1);%%pm = 1 ./ sx;%pn = 1 ./ sy;%%nc{'pm'}(:) = pm;%nc{'pn'}(:) = pn;%%dmde = zeros(size(pm));%dndx = zeros(size(pn));%%dmde(2:end-1, :) = 0.5*(1./pm(3:end, :) - 1./pm(1:end-2, :));%dndx(:, 2:end-1) = 0.5*(1./pn(:, 3:end) - 1./pn(:, 1:end-2));%%nc{'dmde'}(:) = dmde;%nc{'dndx'}(:) = dndx;%%% Final size of file:%%s = size(nc);%disp([' ## Dimensions: ' int2str(s(1))])%disp([' ## Variables: ' int2str(s(2))])%disp([' ## Global Attributes: ' int2str(s(3))])%disp([' ## Record Dimension: ' name(recdim(nc))])% %endef(nc)%close(nc)fclose(fout);disp(' ## Installing: "seagrid2scrum.m" (text)')fout = fopen('seagrid2scrum.m', 'w');%function seagrid2scrum(varargin)%%% function seagrid2scrum(theSeagridFile, theScrumFile, theGridTitle)%%% seagrid2scrum -- Output SCRUM format from SeaGrid file.%%  seagrid2scrum('theSeagridFile', 'theScrumFile', 'theGridTitle')%%   creates a SCRUM file, based on the given SeaGrid file.  The%%   get/put dialog boxes are invoked where filenames are absent%%   or given by a wildcard.%%%% NOTE: this routine does not employ _FillValue attributes%%  in the output NetCDF variables.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 18-Jun-1999 17:11:59.%% Updated    31-May-2000 10:33:39.%%if (1)%	disp([' ## seagrid2scrum is obsolete; calling "seagrid2roms" instead.'])%	if nargin < 1%		feval('seagrid2roms')%	else%		feval('seagrid2roms', varargin{:})%	end%	return%end%%if nargin < 1, theSeagridFile = '*.mat'; end%if nargin < 2, theScrumFile = 'scrum_model_grid.nc'; end%if nargin < 3, theGridTitle = char(zeros(1, 128)+abs(' ')); end%%if isempty(theSeagridFile) | any(theSeagridFile == '*')%	[f, p] = uigetfile(theSeagridFile, 'Select SeaGrid File:');%	if ~any(f), return, end%	if p(end) ~= filesep, p(end+1) = filesep; end%	theSeagridFile = [p f]%end%%if nargin < 2 | isempty(theSeagridFile) | any(theScrumFile == '*')%	[f, p] = uiputfile(theScrumFile, 'Save to Scrum File:');%	if ~any(f), return, end%	if p(end) ~= filesep, p(end+1) = filesep; end%	theScrumFile = [p f]%end%%disp([' ## SeaGrid Source File  : ' theSeagridFile])%disp([' ## Scrum Destination File: ' theScrumFile])%%% Load the SeaGrid file and get parameters.%%try%	theSeagridData = load(theSeagridFile, 's');%catch%	disp([' ## Unable to load: "' theSeagridFile '"'])%	return%end%%% With grid_x of size [m, n], the grid itself has%%  [m-1, n-1] cells.  The latter size corresponds%%  to the size of the mask and bathymetry.  These%%  cell-centers are called the "rho" points.%%s = theSeagridData.s;%%grid_x = s.grids{1};%grid_y = s.grids{2};%[m, n] = size(grid_x);%%geogrid_lon = s.geographic_grids{1};%geogrid_lat = s.geographic_grids{2};%geometry = s.geometry;%mask = s.mask;   % land = 1; water = 0.%if ~isequal(size(mask), size(grid_x)-1)%	if ~isempty(mask)%		disp(' ## Wrong size mask.')%	end%	mask = zeros(m-1, n-1);%end%%bathymetry = s.gridded_bathymetry;%projection = s.projection;%ang = s.orientation;%min_depth = s.clipping_depths(1);%max_depth = s.clipping_depths(2);%coriolis = geogrid_lon;%%spaced_x = s.spaced_grids{1};%spaced_y = s.spaced_grids{2};%%% Double the grid-size before proceeding.%%  The grid-cell-centers are termed the "rho" points.%%theInterpFcn = 'interp2';%theInterpMethod = 'spline';%%grid_x = feval(theInterpFcn, grid_x, 1, theInterpMethod);%grid_y = feval(theInterpFcn, grid_y, 1, theInterpMethod);%geogrid_lon = feval(theInterpFcn, geogrid_lon, 1, theInterpMethod);%geogrid_lat = feval(theInterpFcn, geogrid_lat, 1, theInterpMethod);%spaced_x = feval(theInterpFcn, spaced_x, 1, theInterpMethod);%spaced_y = feval(theInterpFcn, spaced_y, 1, theInterpMethod);%%% The present size of the grid nodes.%%[m, n] = size(grid_x);%%% Flip arrays top for bottom.%%  Is this necessary?%%FLIPPING = 0;%FLIPPING = 1;%%if FLIPPING%	grid_x = flipud(grid_x);%	grid_y = flipud(grid_y);%	geogrid_lon = flipud(geogrid_lon);%	geogrid_lat = flipud(geogrid_lat);%	geometry{1} = flipud(geometry{1});%	mask = flipud(mask);%	bathymetry = flipud(bathymetry);%	ang = flipud(ang);%	coriolis = flipud(coriolis);%	spaced_x = flipud(spaced_x);%	spaced_y = flipud(spaced_y);%end%%% Create the Scrum NetCDF file.%%%% ncdump('priapus:MATLAB:toolbox:scrum:tasman_grd.nc')   %% Generated 17-Jun-1999 17:37:30% %nc = netcdf(theScrumFile, 'clobber');%if isempty(nc), return, end% %%% Global attributes:%%disp(' ## Defining Global Attributes...')% %nc.type = ncchar('Gridpak file');%nc.gridid = theGridTitle;%nc.history = ncchar(['Created by "' mfilename '" on ' datestr(now)]);%%nc.CPP_options = ncchar('DCOMPLEX, DBLEPREC, NCARG_32, PLOTS,');%name(nc.CPP_options, 'CPP-options')%%% The SeaGrid is now a full array, whose height%%  and width are odd-valued.  We extract staggered%%  sub-grids for the SCRUM scheme, ignoring the%%  outermost rows and columns.  Thus, the so-called%%  "rho" points correspond to the even-numbered points%%  in an (i, j) Matlab array.  The "psi" points begin%%  at i = 3 and j = 3.  The whole set is indexed as%%  follows:%%% rho (2:2:end-1, 2:2:end-1), i.e. (2:2:m, 2:2:n), etc.%% psi (3:2:end-2, 3:2:end-2)%% u   (2:2:end-1, 3:2:end-2)%% v   (3:2:end-2, 2:2:end-1)%%if ~rem(m, 2), m = m-1; end   % m, n must be odd.%if ~rem(n, 2), n = n-1; end%%i_rho = 2:2:m-1; j_rho = 2:2:n-1;%i_psi = 3:2:m-2; j_psi = 3:2:n-2;%i_u = 2:2:m-1; j_u = 3:2:n-2;%i_v = 3:2:m-2; j_v = 2:2:n-1;%%% The xi direction (left-right):%%	LP = (m-1)/2;   % The rho dimension.%LP = (n-1)/2;   % The rho dimension.%L = LP-1;       % The psi dimension.%%% The eta direction (up-down):%%	MP = (n-1)/2;   % The rho dimension.%MP = (m-1)/2;   % The rho dimension.%M = MP-1;       % The psi dimension.%%[L M LP MP]%%disp(' ## Defining Dimensions...')% %nc('xi_psi') = L;%nc('xi_rho') = LP;%nc('xi_u') = L;%nc('xi_v') = LP;%%nc('eta_psi') = M;%nc('eta_rho') = MP;%nc('eta_u') = MP;%nc('eta_v') = M;%%nc('two') = 2;%nc('bath') = 0; %% (record dimension)% %%% Variables and attributes:%%disp(' ## Defining Variables and Attributes...')% %nc{'xl'} = ncdouble; %% 1 element.%nc{'xl'}.long_name = ncchar('domain length in the XI-direction');%nc{'xl'}.units = ncchar('meter');% %nc{'el'} = ncdouble; %% 1 element.%nc{'el'}.long_name = ncchar('domain length in the ETA-direction');%nc{'el'}.units = ncchar('meter');% %nc{'JPRJ'} = ncchar('two'); %% 2 elements.%nc{'JPRJ'}.long_name = ncchar('Map projection type');%%nc{'JPRJ'}.option_ME_ = ncchar('Mercator');%nc{'JPRJ'}.option_ST_ = ncchar('Stereographic');%nc{'JPRJ'}.option_LC_ = ncchar('Lambert conformal conic');%name(nc{'JPRJ'}.option_ME_, 'option(ME)')%name(nc{'JPRJ'}.option_ST_, 'option(ST)')%name(nc{'JPRJ'}.option_LC_, 'option(LC)')% %nc{'PLAT'} = ncfloat('two'); %% 2 elements.%nc{'PLAT'}.long_name = ncchar('Reference latitude(s) for map projection');%nc{'PLAT'}.units = ncchar('degree_north');% %nc{'PLONG'} = ncfloat; %% 1 element.%nc{'PLONG'}.long_name = ncchar('Reference longitude for map projection');%nc{'PLONG'}.units = ncchar('degree_east');% %nc{'ROTA'} = ncfloat; %% 1 element.%nc{'ROTA'}.long_name = ncchar('Rotation angle for map projection');%nc{'ROTA'}.units = ncchar('degree');% %nc{'JLTS'} = ncchar('two'); %% 2 elements.%nc{'JLTS'}.long_name = ncchar('How limits of map are chosen');%%nc{'JLTS'}.option_CO_ = ncchar('P1, .. P4 define two opposite corners ');%nc{'JLTS'}.option_MA_ = ncchar('Maximum (whole world)');%nc{'JLTS'}.option_AN_ = ncchar('Angles - P1..P4 define angles to edge of domain');%nc{'JLTS'}.option_LI_ = ncchar('Limits - P1..P4 define limits in u,v space');%name(nc{'JLTS'}.option_CO_, 'option(CO)')%name(nc{'JLTS'}.option_MA_, 'option(MA)')%name(nc{'JLTS'}.option_AN_, 'option(AN)')%name(nc{'JLTS'}.option_LI_, 'option(LI)')% %nc{'P1'} = ncfloat; %% 1 element.%nc{'P1'}.long_name = ncchar('Map limit parameter number 1');% %nc{'P2'} = ncfloat; %% 1 element.%nc{'P2'}.long_name = ncchar('Map limit parameter number 2');% %nc{'P3'} = ncfloat; %% 1 element.%nc{'P3'}.long_name = ncchar('Map limit parameter number 3');% %nc{'P4'} = ncfloat; %% 1 element.%nc{'P4'}.long_name = ncchar('Map limit parameter number 4');% %nc{'XOFF'} = ncfloat; %% 1 element.%nc{'XOFF'}.long_name = ncchar('Offset in x direction');%nc{'XOFF'}.units = ncchar('meter');% %nc{'YOFF'} = ncfloat; %% 1 element.%nc{'YOFF'}.long_name = ncchar('Offset in y direction');%nc{'YOFF'}.units = ncchar('meter');% %nc{'depthmin'} = ncshort; %% 1 element.%nc{'depthmin'}.long_name = ncchar('Shallow bathymetry clipping depth');%nc{'depthmin'}.units = ncchar('meter');% %nc{'depthmax'} = ncshort; %% 1 element.%nc{'depthmax'}.long_name = ncchar('Deep bathymetry clipping depth');%nc{'depthmax'}.units = ncchar('meter');% %nc{'spherical'} = ncchar; %% 1 element.%nc{'spherical'}.long_name = ncchar('Grid type logical switch');%nc{'spherical'}.option_T_ = ncchar('spherical');%nc{'spherical'}.option_F_ = ncchar('Cartesian');%name(nc{'spherical'}.option_T_, 'option(T)')%name(nc{'spherical'}.option_F_, 'option(F)')% %nc{'f0'} = ncdouble; %% 1 element.%nc{'f0'}.long_name = ncchar('Coriolis parameter central value on a beta-plane');%%	nc{'f0'}.FillValue_ = ncdouble(0);% %nc{'dfdy'} = ncdouble; %% 1 element.%nc{'dfdy'}.long_name = ncchar('Coriolis parameter gradient on a beta-plane');%%	nc{'dfdy'}.FillValue_ = ncdouble(0);% %nc{'hraw'} = ncdouble('bath', 'eta_rho', 'xi_rho'); %% 0 elements.%nc{'hraw'}.long_name = ncchar('Working bathymetry at RHO-points');%nc{'hraw'}.units = ncchar('meter');%nc{'hraw'}.field = ncchar('bath, scalar');% %nc{'h'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'h'}.long_name = ncchar('Final bathymetry at RHO-points');%nc{'h'}.units = ncchar('meter');%nc{'h'}.field = ncchar('bath, scalar');% %nc{'f'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'f'}.long_name = ncchar('Coriolis parameter at RHO-points');%nc{'f'}.units = ncchar('second-1');%nc{'f'}.field = ncchar('Coriolis, scalar');% %nc{'pm'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'pm'}.long_name = ncchar('curvilinear coordinate metric in XI');%nc{'pm'}.units = ncchar('meter-1');%nc{'pm'}.field = ncchar('pm, scalar');% %nc{'pn'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'pn'}.long_name = ncchar('curvilinear coordinate metric in ETA');%nc{'pn'}.units = ncchar('meter-1');%nc{'pn'}.field = ncchar('pn, scalar');% %nc{'dndx'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'dndx'}.long_name = ncchar('xi derivative of inverse metric factor pn');%nc{'dndx'}.units = ncchar('meter');%nc{'dndx'}.field = ncchar('dndx, scalar');% %nc{'dmde'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'dmde'}.long_name = ncchar('eta derivative of inverse metric factor pm');%nc{'dmde'}.units = ncchar('meter');%nc{'dmde'}.field = ncchar('dmde, scalar');% %nc{'x_rho'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'x_rho'}.long_name = ncchar('x location of RHO-points');%nc{'x_rho'}.units = ncchar('meter');% %nc{'y_rho'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'y_rho'}.long_name = ncchar('y location of RHO-points');%nc{'y_rho'}.units = ncchar('meter');% %nc{'x_psi'} = ncdouble('eta_psi', 'xi_psi'); %% 16641 elements.%nc{'x_psi'}.long_name = ncchar('x location of PSI-points');%nc{'x_psi'}.units = ncchar('meter');% %nc{'y_psi'} = ncdouble('eta_psi', 'xi_psi'); %% 16641 elements.%nc{'y_psi'}.long_name = ncchar('y location of PSI-points');%nc{'y_psi'}.units = ncchar('meter');% %nc{'x_u'} = ncdouble('eta_u', 'xi_u'); %% 16770 elements.%nc{'x_u'}.long_name = ncchar('x location of U-points');%nc{'x_u'}.units = ncchar('meter');% %nc{'y_u'} = ncdouble('eta_u', 'xi_u'); %% 16770 elements.%nc{'y_u'}.long_name = ncchar('y location of U-points');%nc{'y_u'}.units = ncchar('meter');% %nc{'x_v'} = ncdouble('eta_v', 'xi_v'); %% 16770 elements.%nc{'x_v'}.long_name = ncchar('x location of V-points');%nc{'x_v'}.units = ncchar('meter');% %nc{'y_v'} = ncdouble('eta_v', 'xi_v'); %% 16770 elements.%nc{'y_v'}.long_name = ncchar('y location of V-points');%nc{'y_v'}.units = ncchar('meter');% %nc{'lat_rho'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'lat_rho'}.long_name = ncchar('latitude of RHO-points');%nc{'lat_rho'}.units = ncchar('degree_north');% %nc{'lon_rho'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'lon_rho'}.long_name = ncchar('longitude of RHO-points');%nc{'lon_rho'}.units = ncchar('degree_east');% %nc{'lat_psi'} = ncdouble('eta_psi', 'xi_psi'); %% 16641 elements.%nc{'lat_psi'}.long_name = ncchar('latitude of PSI-points');%nc{'lat_psi'}.units = ncchar('degree_north');% %nc{'lon_psi'} = ncdouble('eta_psi', 'xi_psi'); %% 16641 elements.%nc{'lon_psi'}.long_name = ncchar('longitude of PSI-points');%nc{'lon_psi'}.units = ncchar('degree_east');% %nc{'lat_u'} = ncdouble('eta_u', 'xi_u'); %% 16770 elements.%nc{'lat_u'}.long_name = ncchar('latitude of U-points');%nc{'lat_u'}.units = ncchar('degree_north');% %nc{'lon_u'} = ncdouble('eta_u', 'xi_u'); %% 16770 elements.%nc{'lon_u'}.long_name = ncchar('longitude of U-points');%nc{'lon_u'}.units = ncchar('degree_east');% %nc{'lat_v'} = ncdouble('eta_v', 'xi_v'); %% 16770 elements.%nc{'lat_v'}.long_name = ncchar('latitude of V-points');%nc{'lat_v'}.units = ncchar('degree_north');% %nc{'lon_v'} = ncdouble('eta_v', 'xi_v'); %% 16770 elements.%nc{'lon_v'}.long_name = ncchar('longitude of V-points');%nc{'lon_v'}.units = ncchar('degree_east');% %nc{'mask_rho'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'mask_rho'}.long_name = ncchar('mask on RHO-points');%nc{'mask_rho'}.option_0_ = ncchar('land');%nc{'mask_rho'}.option_1_ = ncchar('water');%name(nc{'mask_rho'}.option_0_, 'option(0)')%name(nc{'mask_rho'}.option_1_, 'option(1)')% %nc{'mask_u'} = ncdouble('eta_u', 'xi_u'); %% 16770 elements.%nc{'mask_u'}.long_name = ncchar('mask on U-points');%nc{'mask_u'}.option_0_ = ncchar('land');%nc{'mask_u'}.option_1_ = ncchar('water');%name(nc{'mask_u'}.option_0_, 'option(0)')%name(nc{'mask_u'}.option_1_, 'option(1)')%%	nc{'mask_u'}.FillValue_ = ncdouble(1);% %nc{'mask_v'} = ncdouble('eta_v', 'xi_v'); %% 16770 elements.%nc{'mask_v'}.long_name = ncchar('mask on V-points');%nc{'mask_v'}.option_0_ = ncchar('land');%nc{'mask_v'}.option_1_ = ncchar('water');%name(nc{'mask_v'}.option_0_, 'option(0)')%name(nc{'mask_v'}.option_1_, 'option(1)')%%	nc{'mask_v'}.FillValue_ = ncdouble(1);% %nc{'mask_psi'} = ncdouble('eta_psi', 'xi_psi'); %% 16641 elements.%nc{'mask_psi'}.long_name = ncchar('mask on PSI-points');%nc{'mask_psi'}.option_0_ = ncchar('land');%nc{'mask_psi'}.option_1_ = ncchar('water');%name(nc{'mask_psi'}.option_0_, 'option(0)')%name(nc{'mask_psi'}.option_1_, 'option(1)')%%	nc{'mask_psi'}.FillValue_ = ncdouble(1);%%% Now, what about depths: "h" and "hraw".  <== DEPTHS.%%% The following seems mistaken:% %nc{'angle'} = ncdouble('eta_rho', 'xi_rho'); %% 16900 elements.%nc{'angle'}.long_name = ncchar('angle between xi axis and east');%nc{'angle'}.units = ncchar('degree');%%% Fill the variables with data.%%disp(' ## Filling Variables...')%%switch lower(projection)%case 'mercator'%	theProjection = 'ME';%case 'stereographic'%	theProjection = 'ST';%case 'lambert conformal conic'%	theProjection = 'LC';%end%%% Fill the variables.%%nc{'JPRJ'}(:) = theProjection;%nc{'spherical'}(:) = 'T';%%nc{'x_rho'}(:) = grid_x(i_rho, j_rho);%nc{'y_rho'}(:) = grid_y(i_rho, j_rho);%%nc{'x_psi'}(:) = grid_x(i_psi, j_psi);%nc{'y_psi'}(:) = grid_y(i_psi, j_psi);%%% [size(nc{'x_u'}) size(grid_x(i_u, j_u))]%%nc{'x_u'}(:) = grid_x(i_u, j_u);%nc{'y_u'}(:) = grid_y(i_u, j_u);%%nc{'x_v'}(:) = grid_x(i_v, j_v);%nc{'y_v'}(:) = grid_y(i_v, j_v);%%nc{'lon_rho'}(:) = geogrid_lon(i_rho, j_rho);%nc{'lat_rho'}(:) = geogrid_lat(i_rho, j_rho);%%nc{'lon_psi'}(:) = geogrid_lon(i_psi, j_psi);%nc{'lat_psi'}(:) = geogrid_lat(i_psi, j_psi);%%nc{'lon_u'}(:) = geogrid_lon(i_u, j_u);%nc{'lat_u'}(:) = geogrid_lat(i_u, j_u);%%nc{'lon_v'}(:) = geogrid_lon(i_v, j_v);%nc{'lat_v'}(:) = geogrid_lat(i_v, j_v);%%whos%%nc{'h'}(:) = bathymetry;%%water = zeros(m, n);%water(2:2:end, 2:2:end) = 1 - mask;%%nc{'mask_rho'}(:) = water(i_rho, j_rho);%nc{'mask_psi'}(:) = water(i_psi, j_psi);%nc{'mask_u'}(:) = water(i_u, j_u);%nc{'mask_v'}(:) = water(i_v, j_v);%%temp = 0.5*(ang(1:end-1, :) + ang(2:end, :));%ang = zeros(m, n);%ang(2:2:end, 2:2:end) = temp;%%nc{'angle'}(:) = ang(i_rho, j_rho);%%if (0)%	sx = abs(spaced_x(:, 2:end) - spaced_x(:, 1:end-1));%	sy = abs(spaced_x(2:end, :) - spaced_x(1:end-1, :));%elseif (0)%	sx = abs(spaced_x(1:2:end, 3:2:end) - spaced_x(1:2:end, 1:2:end-2));%	sy = abs(spaced_y(3:2:end, 1:2:end) - spaced_y(1:2:end-2, 1:2:end));%	sx = 0.5 * (sx(1:end-1, :) + sx(2:end, :));%	sy = 0.5 * (sy(:, 1:end-1) + sy(:, 2:end));%end%%% Use geometry from seagrid file.%% Note: need half the number of points.%%gx = geometry{1};   % Spherical distances in meters.%gy = geometry{2};%%% raw_grid_size = [m, n]%%% geometry_sizes = [size(gx) size(gy)]%%sx = 0.5*(gx(1:end-1, :) + gx(2:end, :));%sy = 0.5*(gy(:, 1:end-1) + gy(:, 2:end));%%% raw_s_sizes = [size(sx) size(sy)]%%% sx = sx(2:end-1, :);%% sy = sy(:, 2:end-1);%%pm = 1 ./ sx;%pn = 1 ./ sy;%%% p_sizes = [size(pm) size(pn)]%%dmde = zeros(size(pm));%dndx = zeros(size(pn));%%dmde(:, 2:end-1) = 0.5*(1./pm(:, 3:end) - 1./pm(:, 1:end-2));%dndx(2:end-1, :) = 0.5*(1./pn(3:end, :) - 1./pn(1:end-2, :));%%% d_sizes = [size(dmde) size(dndx)]%%% dmde = dmde(:, 1:2:end);%% dndx = dndx(1:2:end, :);%%nc{'pm'}(:) = pm;%nc{'pn'}(:) = pn;%%% [size(dmde) size(nc{'dmde'})]%%nc{'dmde'}(:) = dmde;%%% [size(dndx) size(nc{'dndx'})]%%nc{'dndx'}(:) = dndx;%%% Final size of file:%%s = size(nc);%disp([' ## Dimensions: ' int2str(s(1))])%disp([' ## Variables: ' int2str(s(2))])%disp([' ## Global Attributes: ' int2str(s(3))])%disp([' ## Record Dimension: ' name(recdim(nc))])% %endef(nc)%close(nc)fclose(fout);disp(' ## Installing: "seagrid_bundle.m" (text)')fout = fopen('seagrid_bundle.m', 'w');%function seagrid_bundle%%% seagrid_bundle -- Bundler for "SeaGrid" toolbox.%%  seagrid_bundle (no argument) bundles the files%%   that comprise the "SeaGrid" toolbox.  The%%   result is "seagrid_install.p".% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 15-Apr-1999 16:24:49.%% Updated    26-Sep-2002 12:07:04.%%if (0)%	ELAPSED = 'disp(['' ## Elapsed time: '' int2str(toc) '' s''])   % Timing.';%	tic%end%%theDirs = {%	'seagrid'%	'seagrid:@seagrid'%	'seagrid:test_data'%};%%theMFiles = {%%	mfilename%	%	'README'%	%	'seagrid_test'%	'grid_test'%	'sg'%	'hello'%	'setdef'%	%	'sg_mercator'%	'sg_stereographic'%	'sg_lambert_equal_area'%	%	'sg_proj'%	'sg_ll2xy'%	'sg_xy2ll'%%	'insidesafe'%	'labelsafe'%	'printsafe'%	'setsafe'%	'splinesafe'%	'zoomsafe'%	%	'switchsafe'%%	'fieldrename'%	'pdf2tick'%%	'linticks'%%	'showhide'%%	'busy'%	'idle'%%	'ismac'%	'ispc'%	'vi'%%	'rescale'%	'respace'%%	'earthdist'%	'splinep'%	'splineq'%%	'fpt'%	'fps'%	'rect'%	'rect2grid'%	'mexrect2grid'%%	'grid2mask'%	%	'griddata1'%	'tgriddata'%	%	'xyplaid'%	'gridfill'%	'unsort'%%	'monocline'%%	'seagrid2ecom'%	'seagrid2roms'%	'seagrid2scrum'%%	'seagrid_helpdlg'%%	'fig2jpeg'%	'guido'%	'hint'%	'getinfo'%	'setinfo'%    %    'isccw'%};%%theMFiles = sort(theMFiles);%%okay = 1;%for i = 1:length(theMFiles)%	if isempty(which(theMFiles{i}))%		disp([' ## Not found: "' theMFiles{i} '"'])%		okay = 0;%	end%end%%if ~okay%	disp(' ## Unable to continue.  Some files are missing.')%	return%end%%theClasses = {%	'seagrid'%};%%theMatFiles = {%	'amazon_coast.mat'%	'amazon_bathy.mat'%};%%theMessages = {%	' '%	' ##  Requires the "presto" toolbox (Denham)'%	' '%	' ##  Unix and PC require these Mex-files:'%	' ##   from "gridgen" (Evans):'%	' ##       "mexinside"'%	' ##       "mexrect"'%	' ##       "mexsepeli"'%%	' '%	' ## To get started, put the "seagrid" and "presto" folders'%	' ## (and other relevant files) in your Matlab path.'%	' ## Restart Matlab, then execute "seagrid" at the Matlab prompt.'%};%%if (0)%%fclose('all');%%setdef(mfilename)%%newversion seagrid%%dst = 'seagrid_install';%%self = bundle(dst, 'new');%%disp(' ')%disp(self)%%self = add_checkdir(self, theDirs);%%self = add_setdir(self, 'seagrid');%%self = add_mfile(self, theMFiles);%self = add_class(self, theClasses);%%% Add test_data.%%self = add_setdir(self, 'test_data');%cd test_data%self = add_binary(self, theMatFiles);%self = add_setdir(self, '..');%cd ..%%self = add_setdir(self, '..');%%self = add_message(self, theMessages);%%self = make_pcode(self);%%eval(ELAPSED)%%end%%% New bundling scheme, using BUND.%%at(mfilename)%%newversion seagrid%%bund new seagrid%bund setdir seagrid%bund('mfile', theMFiles)%bund('class', theClasses)%cd test_data%bund setdir test_data%bund('binary', theMatFiles)%cd ..%bund cd ..%bund cd ..%bund('message', theMessages)%bund closefclose(fout);disp(' ## Installing: "seagrid_helpdlg.m" (text)')fout = fopen('seagrid_helpdlg.m', 'w');%function handle = seagrid_helpdlg(helpstring, dlgname, color)%%% seagrid_helpdlg -- "helpdlg" + background color.%%  seagrid_helpdlg(helpstring, dlgname, color) calls "helpdlg",%%   then adjusts the background to the given color.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 24-Aug-1999 14:57:37.%% Updated    24-Aug-1999 14:57:37.%%if nargin < 1%	help(mfilename)%	h = seagrid_helpdlg(help(mfilename));%	if nargout > 0, handle = h; end%	return%end%if nargin < 2, dlgname = 'SeaGrid Help'; end%if nargin < 3, color = [1 1 1]; end%%h = helpdlg(helpstring, dlgname);%set(h, 'Color', color)%%t = findobj(h, 'Type', 'uicontrol');%set(t, 'BackgroundColor', color)%%if nargout > 0, handle = h; endfclose(fout);disp(' ## Installing: "seagrid_test.m" (text)')fout = fopen('seagrid_test.m', 'w');%function seagrid_demo%%% seagrid_demo -- Demo of "seagrid" facility.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 28-Apr-1999 13:10:18.%% Updated    24-Jul-2000 13:26:43.%%clear all%%sg%%cd test_data%%theCoastline = which('amazon_coast.mat')%theBathymetry = which('amazon_bathy.mat')%%cd ..%%self = seagrid(theCoastline, theBathymetry)%%assignin('base', 'self', self)fclose(fout);disp(' ## Installing: "setdef.m" (text)')fout = fopen('setdef.m', 'w');%function setdef(theFunction)%%% setdef -- Switch to directory of a function.%%  setdef(theFunction) switches to the directory%%   that contains theFunction.%%  setdef (no argument) displays pwd.%%% Copyright (C) 1996 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without written consent from the%%    copyright owner does not constitute publication.%%if nargin > 0%   w = which(theFunction);%   f = findstr(w, filesep);%   if any(f)%      w = w(1:f(length(f)));%      eval(['cd(''' w(1:f(length(f))) ''')'])%   end%end%disp([' ## ' pwd])fclose(fout);disp(' ## Installing: "setinfo.m" (text)')fout = fopen('setinfo.m', 'w');%function [theResult, isOkay] = setinfo(theInfo, theField, theValue)%%% setinfo -- Set field value in an "Info" struct.%%  setinfo(theInfo, 'theField', theValue) updates%%   'theField' to theValue in theInfo, a struct%%   that is compatible with the "uigetinfo" function.%%   If 'theField' does not exist, it will be created%%   to receive theValue.%%  [theResult, isOkay] = ... returns isOkay = 0%%   if an error occurred; otherwise, non-zero.%%  setinfo(theInfo, 'theField') invokes "getinfo".%%  setinfo(theInfo) adjusts theInfo to canonical%%   form.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Feb-1998 09:45:56.%% Updated    14-Nov-2001 15:21:24.%%if nargout > 0, theResult = []; end%if nargin < 1, help(mfilename), return, end%%% Put all fields into canonical form.%%if nargin < 2%	result = theInfo;%	theFields = fieldnames(result);%	isOkay = 1;%	for i = 1:length(theFields)%		theValue = getfield(result, theFields{i});%		switch class(theValue)%		case 'struct'%			[res, okay] = setinfo(theValue);%			isOkay = isOkay & okay;%			result = setfield(result, theFields{i}, res);%		case 'cell'%			if length(theValue) == 1 & ...%				(isequal(theValue{1}, 'radiobutton') | ...%				isequal(theValue{1}, 'checkbox'))%				theValue{2} = 0;%				result = setfield(result, theFields{i}, theValue);%			elseif length(theValue) == 1 & iscell(theValue{1})%				theValue{2} = 1;%				result = setfield(result, theFields{i}, theValue);%			elseif ~isequal(theValue{1}, 'radiobutton') & ...%					~isequal(theValue{1}, 'checkbox')%				theValue{1} = {theValue{1}};%				theValue{2} = 1;%			else%				theValue;%			end%		otherwise%		end%	end%	if nargout > 0, theResult = result; end%	return%end%%[theVal, isOkay] = getinfo(theInfo, theField);%%if nargin == 2%    if nargout > 0%        theResult = theVal;%    else%        disp(theVal)%    end%    return%end%%if ischar(theField) & any(theField == '.')%	theField = [theField '.'];%	f = find(theField == '.');%	theParts = cell(1, length(f));%	k = 0;%	for i = 1:length(f)%		theParts{i} = theField(k+1:f(i)-1);%		k = f(i);%	end%	theField = theParts;%elseif ~iscell(theField)%	theField = {theField};%end%%result = theInfo;%%if ~all(isOkay)   % Create a new field.%    isOkay = 1;%% eval('result = setfield(theInfo, theField, theValue);', 'isOkay = 0;');%    eval('result = setfield(theInfo, theField{:}, theValue);', 'isOkay = 0;');%else   % Update an existing field.%	isokay = 1;%% eval('theVal = getfield(theInfo, theField);', 'isOkay = 0;');%	eval('theVal = getfield(theInfo, theField{:});', 'isOkay = 0;');%	if ~isOkay, theVal = []; end%    switch class(theVal)%	case 'cell'%        if isequal(theVal{1}, 'checkbox') | isequal(theVal{1}, 'radiobutton')%			% Do nothing.%		elseif ~iscell(theVal{1})%			theVal{1} = {theVal{1}};%			theVal{2} = 1;%		end%	end%    switch class(theVal)%    case 'cell'%        if isequal(theVal{1}, 'checkbox') | isequal(theVal{1}, 'radiobutton')%            theVal{2} = any(any(theValue));%        else%			switch class(theValue)%			case 'double'%				if theValue > 0 & theValue <= length(theVal{1})%					theVal{2} = theValue;%				end%			otherwise%            	flag = 0;%	            for i = 1:length(theVal{1})%	                if isequal(theVal{1}{i}, theValue)%	                    theVal{2} = i;%	                    flag = 1%	                end%	            end%	            if ~any(flag)   % Append.%	                theVal{1} = [theVal(:); {theValue}];%	                theVal{2} = length(theVal{1});%	            end%			end%% else%% theVal{1} = [{theValue}; theVal(:)];%        end%    otherwise%        theVal = theValue;%    end%    isOkay = 1;%% eval('result = setfield(theInfo, theField, theVal);', 'isOkay = 0;');%    eval('result = setfield(theInfo, theField{:}, theVal);', 'isOkay = 0;');%end%%if nargout > 0%    theResult = result;%else%    disp(result)%endfclose(fout);disp(' ## Installing: "setsafe.m" (text)')fout = fopen('setsafe.m', 'w');%function theResult = setsafe(varargin)%%% setsafe -- Fault-tolerant and non-redundant "set".%%  setsafe('demo') demonstrates itself.%%  setsafe(theHandle, ...) sets only those properties%%   that would actually change.  The argument-list%%   consists of a valid handle, followed by name/value%%   pairs, followed by another handle, etc., so long%%   as the list makes sense.  In the case of multiple%%   handles, each block is set before processing the next,%%   as if several "set" calls were executed in sequence.%%   The result is logically true if some values were set%%   successfully; otherwise, it is false.%%%% Note: this routine overcomes the propensity of Matlab%%  to generate redundant screen-updates under X-Windows.% %% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 11-Feb-2000 11:56:50.%% Updated    11-Feb-2000 17:02:36.%%global SETSAFE_VERBOSE%%if nargout > 0, theResult = 1; end%if nargin < 1, help(mfilename), varargin = {'demo'}; end%%if isempty(SETSAFE_VERBOSE), SETSAFE_VERBOSE = ~~0; end%%if isequal(varargin{1}, 'demo')%	SETSAFE_VERBOSE = ~~1;%	disp([' >> ' mfilename ' demo']), disp(' ')%	c{1} = 'setsafe(gcf, ''Name'', [mfilename '' demo''])';%	c{2} = 'setsafe(gcf, ''Color'', [1 0 0], ''Color'', [0 0 1])';%	disp([' >> ' c{1}])%	disp([' >> ' c{2}])%	eval(c{1})%	eval(c{2})%	SETSAFE_VERBOSE = ~~0;%	return%end%%vargs = {};%mode = 'handle';%i = 0;  % Index of arguments already processed.%%while i <= length(varargin)%	if i >= length(varargin)%		mode = 'set';%	else%		v = varargin{i+1};%	end%	switch mode%	case 'handle'   % Looking for a handle.%		if ishandle(v)%			if SETSAFE_VERBOSE, disp([' ## ' mode ' ' mat2str(v)]), end%			vargs = {v};%			mode = 'property';%			i = i+1;%		else%			mode = 'ignore';%		end%	case 'property'   % Looking for a property-name.%		if ischar(v)%			if SETSAFE_VERBOSE, disp([' ## ' mode ' ''' mat2str(v) '''']), end%			vargs{end+1} = v;%			mode = 'value';%			i = i+1;%		elseif ishandle(v)%			mode = 'set';%		else%			mode = 'ignore';%		end%	case 'value'   % Looking for a property-value.%		if SETSAFE_VERBOSE%			theClass = class(v);%			switch theClass%			case 'double'%				disp([' ## ' mode ' ' mat2str(v)])%			case 'char'%				disp([' ## ' mode ' ''' mat2str(v) ''''])%			otherwise%				disp([' ## ' mode])%				disp(v)%			end%		end%		vargs{end+1} = v;%		mode = 'property';%		i = i+1;%	case 'set'%		if SETSAFE_VERBOSE, disp([' ## ' mode]), end%		if nargout > 0%			theResult = nrset(vargs{:});%		else%			nrset(vargs{:});%		end%		if i == length(varargin), break; end%		vargs = {};%		mode = 'handle';%	case 'ignore'%		i = i+1;%		mode = 'set';%	end%	if i >= length(varargin)%		mode = 'set';%	end%end%%% ---------- nrset ---------- %%%function theResult = nrset(varargin)%%% nrset -- Non-redundant "set".%%  nrset(theHandle, ...) performs non-redundant "set",%%   which attempts to set only those properties that%%   would actually change.  All of the requested%%   properties are checked before any of them are set.%%   The result is logically true if any values were%%   set successfully; otherwise, it is false.% %% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 11-Feb-2000 12:57:27.%% Updated    20-Apr-2000 15:23:10.%%global SETSAFE_VERBOSE%%if nargout > 0, theResult = 0; end%if nargin < 1, help(mfilename), return, end%%if length(varargin) < 1, return, end%%theHandle = varargin{1};%%k = length(varargin);%if rem(k, 2), k = k-1; end%%while k > 1%	theName = varargin{k};%	if k < length(varargin)%		theValue = varargin{k+1};%		try%			redundant = ~~1;%			for i = 1:length(theHandle)%				x = get(theHandle(1), theName);%				if ~isequal(x, theValue)%					redundant = ~~0;%					break%				end%			end%			if redundant%				if any(SETSAFE_VERBOSE)%					disp([' ## redundant property ''' theName ''''])%				end%				varargin(k:k+1) = [];%			end%		catch%			disp([' ## ' mfilename ': ' lasterr])%			return%		end%	end%	k = k-2;%end%%okay = (nargin > 1 & length(varargin) > 1) | ...%			(nargin == 1 & length(varargin) == 1);%%if okay%	try%		if nargout > 0%			theResult = set(varargin{:});%		else%			set(varargin{:});%		end%		theResult = 1;%	catch%		disp([' ## ' mfilename ': ' lasterr])%	end%endfclose(fout);disp(' ## Installing: "sg.m" (text)')fout = fopen('sg.m', 'w');%function sg%%% sg -- Switch to the "seagrid" area.%%  sg (no argument) switches to the "seagrid" area.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Apr-1999 15:44:33.%%setdef(mfilename)fclose(fout);disp(' ## Installing: "sg_lambert_equal_area.m" (text)')fout = fopen('sg_lambert_equal_area.m', 'w');%function [x, y] = lambert_equal_area(lon, lat, doInverse, plon, plat, pang)%%% lambert_equal_area -- Lambert equal-area projection.%%  [x, y] = lambert_eqarea(lon, lat, doInverse, plon, plat, pang)%%   returns the (x, y) positions corresponding to the Lambert%%   equal-area projection of (lon, lat), given in degrees.  The%%   mapping is centered on the given point (plon, plat, pang).%%   At the center point, the positive y-axis points upwards.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Dec-1999 13:50:29.%% Updated    27-Dec-1999 13:50:29.%%RCF = 180 / pi;%%if nargin < 2, help(mfilename), return, end%%if nargin < 3, doInverse = 0; end%if nargin < 4, plon = 0; end%if nargin < 5, plat = 0; end%if nargin < 6, pang = 0; end%%if all(doInverse(:))%	xin = lon;%	yin = lat;%	[olon, olat] = inv_lambert_equal_area(xin, yin, plon, plat, pang);%	x = olon;%	y = olat;%	return%end%%lon = lon / RCF;%lat = lat / RCF;%%clat = cos(lat);%x = clat .* cos(lon);%y = clat .* sin(lon);%z = sin(lat);%%if any([plat, plon, pang])%	[y, x] = rot1(y, x, plon);%	[z, x] = rot1(z, x, plat);%	[y, z] = rot1(y, z, pang);%end%%h = sqrt(y.*y + z.*z);%ang = asin(h);%r = 2 * sin(ang / 2) / sqrt(2);%h(h == 0) = 1;%u = r .* y ./ h;%v = r .* z ./ h;%%x = u/2;   % Normalize to 1 at 90 degrees radial distance.%y = v/2;%%if any(pang)%	[x, y] = rot1(x, y, -pang);   % Restore North.%end%%%% ---------- inv_lambert_equal_area --------- %%%%function [lon, lat] = inv_lambert_equal_area(x, y, plon, plat, pang)%%% inv_lambert_equal_area -- Inverse Lambert equal-area projection.%%%  [lon, lat] = inv_lambert_equal_area(x, y, plon, plat, pang)%%   returns the (lon, lat) corresponding to the given Lambert%%   equal-area mapping (x, y), centered on the pole (plon, plat,%%   pang).% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Dec-1999 10:18:15.%% Updated    27-Dec-1999 10:18:15.%%RCF = 180 / pi;%%if any(pang)%	[x, y] = rot1(x, y, pang);%end%%x = 2*x;%y = 2*y;%r = sqrt(x.*x + y.*y);%ang = 2*asin(r/2)*sqrt(2);%%r(r == 0) = 1;%%u = cos(ang);%v = sin(ang).*x./r;%w = sin(ang).*y./r;%%x = u;%y = v;%z = w;%%if any([plat, plon, pang])%	[y, z] = rot1(y, z, -pang);%	[z, x] = rot1(z, x, -plat);%	[y, x] = rot1(y, x, -plon);%end%%lon = atan2(y, x) * RCF;%lat = asin(z) * RCF;%%%% ---------- rot1 --------- %%%%function [rx, ry] = rot1(x, y, deg)%%% rot1 Planar rotation by an angle in degrees.%%  [rx, ry] = rot1(x, y, deg) rotates point X toward%%   Y by angle deg (in degrees).%%  ROT1 (no arguments) demonstrates itself.% %% Copyright (C) 1992 Dr. Charles R. Denham, ZYDECO.%% All Rights Reserved.%%% Version of 6-Jul-92 at 22:12:09.633.%% Updated    27-Dec-1999 10:16:20.%%if nargin > 2%   xy = [x(:) y(:)].';%  else%   xy = x;%   deg = y;%end%%rcf = 180 ./ pi;%rad = deg ./ rcf;%c = cos(rad); s = sin(rad);%%r = [c -s; s c];%%z = r * xy;%%if nargout < 2%   rx = zeros(size(x));%   rx(:) = z;%else%   rx = zeros(size(x));%   ry = zeros(size(y));%   rx(:) = z(1, :); ry(:) = z(2, :);%endfclose(fout);disp(' ## Installing: "sg_ll2xy.m" (text)')fout = fopen('sg_ll2xy.m', 'w');%function [x, y] = sg_ll2xy(lon, lat)%%% sg_ll2xy -- Stub for m_map-like "m_ll2xy" function.%%  [x, y] = sg_ll2xy(lon, lat) returns the (x, y) mappings%%   that correspond to geographic positions (lon, lat),%%   given in degrees.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Dec-1999 13:37:03.%% Updated    10-Apr-2002 16:12:08.%%[theProjection, theCenter] = sg_proj;%if isempty(theCenter)%	theCenter = [0 0 0];%end%%plon = theCenter(1);%plat = theCenter(2);%pang = theCenter(3);%%switch lower(theProjection)%case 'none'%	x = lon; y = lat;%case 'mercator'%	[x, y] = sg_mercator(lon, lat, 0, plon, plat, pang);%case 'transverse mercator'%	[x, y] = sg_mercator(lon, lat, 0, 0, 0, 90);%case 'stereographic'%	[x, y] = sg_stereographic(lon, lat, 0, plon, plat, pang);%case 'lambert equal area'%	[x, y] = sg_lambert_equal_area(lon, lat, 0, plon, plat, pang);%otherwise%	disp([' ## No such projection: ' theProjection])%endfclose(fout);disp(' ## Installing: "sg_mercator.m" (text)')fout = fopen('sg_mercator.m', 'w');%function [x, y] = mercator(lon, lat, doInverse, plon, plat, pang)%%% mercator -- Mercator projection.%%  [x, y] = mercator(lon, lat, doInverse, plon, plat, pang)%%   returns the mercator projection of geographic positions%%   (lon, lat) in degrees, centered on the given point%%   (plon, plat, pang), whose default is (0, 0, 0).%%   If the doInverse flag is logically TRUE, the inverse%%   mapping is returned.  The Earth's radius is assumed%%   to be 1.  Regardless of the polar angle, positive y%%   on the map points toward North through the central%%   point.%%%%  For the transverse Mercator projection, use a pole%%  of (0, 0, 90).% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Dec-1999 10:18:15.%% Updated    27-Dec-1999 10:18:15.%%RCF = 180 / pi;%%if nargin < 2, help(mfilename), return, end%%if nargin < 3, doInverse = 0; end%if nargin < 4, plon = 0; end%if nargin < 5, plat = 0; end%if nargin < 6, pang = 0; end%%if all(doInverse(:))%	xin = lon;%	yin = lat;%	[olon, olat] = inv_mercator(xin, yin, plon, plat, pang);%	x = olon;%	y = olat;%	return%end%%lon = lon / RCF;%lat = lat / RCF;%%if any([plat, plon, pang])%	clat = cos(lat);%	x = clat .* cos(lon);%	y = clat .* sin(lon);%	z = sin(lat);%	[y, x] = rot1(y, x, plon);%	[z, x] = rot1(z, x, plat);%	[y, z] = rot1(y, z, pang);%	lon = atan2(y, x);%	lat = asin(z);%end%%x = lon;%y = log(tan(pi/4 + lat/2));%%if any(pang)%	[x, y] = rot1(x, y, -pang);   % Restore North.%end%%%% ---------- inv_mercator --------- %%%%function [lon, lat] = inv_mercator(x, y, plon, plat, pang)%%% inv_mercator -- Inverse Mercator projection.%%%  [lon, lat] = inv_mercator(x, y, plon, plat, pang) returns%%   the (lon, lat) corresponding to the given Mercator mapping%%   (x, y), centered on the pole (plon, plat, pang).% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Dec-1999 10:18:15.%% Updated    27-Dec-1999 10:18:15.%%RCF = 180 / pi;%%if any(pang)%	[x, y] = rot1(x, y, pang);%end%%lon = x;%lat = (pi/2 - 2*atan(exp(-y)));%%if any([plat, plon, pang])%	clat = cos(lat);%	x = clat .* cos(lon);%	y = clat .* sin(lon);%	z = sin(lat);%	[y, z] = rot1(y, z, -pang);%	[z, x] = rot1(z, x, -plat);%	[y, x] = rot1(y, x, -plon);%	lon = atan2(y, x);%	lat = asin(z);%end%%lon = lon * RCF;%lat = lat * RCF;%%%% ---------- rot1 --------- %%%%function [rx, ry] = rot1(x, y, deg)%%% rot1 Planar rotation by an angle in degrees.%%  [rx, ry] = rot1(x, y, deg) rotates point X toward%%   Y by angle deg (in degrees).%%  ROT1 (no arguments) demonstrates itself.% %% Copyright (C) 1992 Dr. Charles R. Denham, ZYDECO.%% All Rights Reserved.%%% Version of 6-Jul-92 at 22:12:09.633.%% Updated    27-Dec-1999 10:16:20.%%if nargin > 2%   xy = [x(:) y(:)].';%  else%   xy = x;%   deg = y;%end%%rcf = 180 ./ pi;%rad = deg ./ rcf;%c = cos(rad); s = sin(rad);%%r = [c -s; s c];%%z = r * xy;%%if nargout < 2%   rx = zeros(size(x));%   rx(:) = z;%else%   rx = zeros(size(x));%   ry = zeros(size(y));%   rx(:) = z(1, :); ry(:) = z(2, :);%endfclose(fout);disp(' ## Installing: "sg_proj.m" (text)')fout = fopen('sg_proj.m', 'w');%function [theProj, theCenter] = sg_proj(theProjection, theProjectionCenter)%%% sg_proj -- Stub for m_map-like "m_proj" function.%%  sg_proj(theProjection) sets and/or gets the current%%   map projection: {'Mercator', 'Transverse Mercator', 'Stereographic'}.%%  [theProj, theCenter] = sg_proj(theProjection, theProjectionCenter)%%   also sets/gets the center-of-projection (lon, lat, angle), given%%   in degrees.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Dec-1999 11:26:45.%% Updated    27-Dec-1999 13:37:03.%%persistent CURRENT_PROJECTION%persistent CURRENT_PROJECTION_CENTER%%if nargin > 0%	switch lower(theProjection)%	case {'mercator', 'stereographic', 'lambert equal area'}%		CURRENT_PROJECTION = theProjection;%	otherwise%		disp([' ## No such projection: ' theProjection])%	end%end%%if nargin > 1%	CURRENT_PROJECTION_CENTER = theProjectionCenter;%end%%if nargout > 0%	theProj = CURRENT_PROJECTION;%	theCenter = CURRENT_PROJECTION_CENTER;%endfclose(fout);disp(' ## Installing: "sg_stereographic.m" (text)')fout = fopen('sg_stereographic.m', 'w');%function [x, y] = stereographic(lon, lat, doInverse, plon, plat, pang)%%% stereographic -- Stereographic projection.%%  [x, y] = stereographic(lon, lat, doInverse, plon, plat, pang)%%   returns the (x, y) positions corresponding to the stereographic%%   projection of (lon, lat), given in degrees.  The mapping is%%   centered on the given point (plon, plat, pang).  At the center%%   point, the positive y-axis points upwards.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Dec-1999 13:50:29.%% Updated    27-Dec-1999 13:50:29.%%RCF = 180 / pi;%%if nargin < 2, help(mfilename), return, end%%if nargin < 3, doInverse = 0; end%if nargin < 4, plon = 0; end%if nargin < 5, plat = 0; end%if nargin < 6, pang = 0; end%%if all(doInverse(:))%	xin = lon;%	yin = lat;%	[olon, olat] = inv_stereographic(xin, yin, plon, plat, pang);%	x = olon;%	y = olat;%	return%end%%lon = lon / RCF;%lat = lat / RCF;%%clat = cos(lat);%x = clat .* cos(lon);%y = clat .* sin(lon);%z = sin(lat);%%if any([plat, plon, pang])%	[y, x] = rot1(y, x, plon);%	[z, x] = rot1(z, x, plat);%	[y, z] = rot1(y, z, pang);%end%%h = sqrt(y.*y + z.*z);%ang = asin(h);%r = 2 * tan(ang / 2);%h(h == 0) = 1;%u = r .* y ./ h;%v = r .* z ./ h;%%x = u/2;   % Normalize to 1 at 90 degrees radial distance.%y = v/2;%%if any(pang)%	[x, y] = rot1(x, y, -pang);   % Restore North.%end%%%% ---------- inv_stereographic --------- %%%%function [lon, lat] = inv_stereographic(x, y, plon, plat, pang)%%% inv_stereographic -- Inverse stereographic projection.%%%  [lon, lat] = inv_stereographic(x, y, plon, plat, pang) returns%%   the (lon, lat) corresponding to the given stereographic mapping%%   (x, y), centered on the pole (plon, plat, pang).% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Dec-1999 10:18:15.%% Updated    27-Dec-1999 10:18:15.%%RCF = 180 / pi;%%if any(pang)%	[x, y] = rot1(x, y, pang);%end%%x = 2*x;%y = 2*y;%r = sqrt(x.*x + y.*y);%ang = 2*atan(r/2);%%r(r == 0) = 1;%%u = cos(ang);%v = sin(ang).*x./r;%w = sin(ang).*y./r;%%x = u;%y = v;%z = w;%%if any([plat, plon, pang])%	[y, z] = rot1(y, z, -pang);%	[z, x] = rot1(z, x, -plat);%	[y, x] = rot1(y, x, -plon);%end%%lon = atan2(y, x) * RCF;%lat = asin(z) * RCF;%%%% ---------- rot1 --------- %%%%function [rx, ry] = rot1(x, y, deg)%%% rot1 Planar rotation by an angle in degrees.%%  [rx, ry] = rot1(x, y, deg) rotates point X toward%%   Y by angle deg (in degrees).%%  ROT1 (no arguments) demonstrates itself.% %% Copyright (C) 1992 Dr. Charles R. Denham, ZYDECO.%% All Rights Reserved.%%% Version of 6-Jul-92 at 22:12:09.633.%% Updated    27-Dec-1999 10:16:20.%%if nargin > 2%   xy = [x(:) y(:)].';%  else%   xy = x;%   deg = y;%end%%rcf = 180 ./ pi;%rad = deg ./ rcf;%c = cos(rad); s = sin(rad);%%r = [c -s; s c];%%z = r * xy;%%if nargout < 2%   rx = zeros(size(x));%   rx(:) = z;%else%   rx = zeros(size(x));%   ry = zeros(size(y));%   rx(:) = z(1, :); ry(:) = z(2, :);%endfclose(fout);disp(' ## Installing: "sg_xy2ll.m" (text)')fout = fopen('sg_xy2ll.m', 'w');%function [lon, lat] = sg_xy2ll(x, y)%%% sg_ll2xy -- Stub for m_map-like "m_ll2xy" function.%%  [lon, lat] = sg_xy2ll(x, y) returns the (lon, lat)%%   geographic positions, in degrees, that correspond%%   to the given (x, y).% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Dec-1999 13:37:03.%% Updated    10-Apr-2002 16:12:08.%%[theProjection, theCenter] = sg_proj;%if isempty(theCenter)%	theCenter = [0 0 0];%end%%plon = theCenter(1);%plat = theCenter(2);%pang = theCenter(3);%%switch lower(theProjection)%case 'none'%	lon = x; lat = y;%case 'mercator'%	[lon, lat] = sg_mercator(x, y, 1, plon, plat, pang);%case 'transverse mercator'%	[lon, lat] = sg_mercator(x, y, 1, 0, 0, 90);%case 'stereographic'%	[lon, lat] = sg_stereographic(x, y, 1, plon, plat, pang);%case 'lambert equal area'%	[lon, lat] = sg_lambert_equal_area(x, y, 1, plon, plat, pang);%otherwise%	disp([' ## No such projection: ' theProjection])%endfclose(fout);disp(' ## Installing: "showhide.m" (text)')fout = fopen('showhide.m', 'w');%function showhide(theHandles)%%% showhide -- Toggle visibility of a graphics object.%%  showhide(theHandles) toggles the visibility of each%%   of theHandles.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 21-Apr-1999 14:05:01.%%if nargin < 1, help(mfilename), return, end%%for i = 1:length(theHandles)%	switch get(theHandles(i), 'Visible')%	case 'on'%		theVisible = 'off';%	otherwise%		theVisible = 'on';%	end%	set(theHandles(i), 'Visible', theVisible)%endfclose(fout);disp(' ## Installing: "splinep.m" (text)')fout = fopen('splinep.m', 'w');%function pp = splinep(t, z, theSlopeFlag)%%% splinep -- Spline interpolation with end-slope control.%%  splinep(t, z, theSlopeFlag) returns "pp" coefficients for%%   interpolating complex z(t), such that ppval(pp, ti) will%%   provide interpolated values at points ti.  If theSlopeFlag%%   is TRUE, the end-slopes are pinned to the linear slopes%%   between the first two and the last two points in the data,%%   respectively.%%  splinep(nPoints) demonstrates itself with nPoints%%   (default = 5) of random data.  Click on any curve%%   to do another demonstration.  The "zoomsafe" facility%%   is active if available.  See "help zoomsafe".%%  splinep('demo') calls splinep(5).% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 08:11:28.%% Updated    27-May-1999 11:18:10.%%if nargin < 1, help(mfilename), t = 'demo'; end%if isequal(t, 'demo'), t = 5; end%if ischar(t), t = eval(t); end%%if length(t) == 1%	nPoints = t;%	t = sort(rand(1, nPoints));%	t = t - min(t); t = t / max(t);%	z = rand(size(t));%	ti = linspace(min(t), max(t), 100*length(t)+1);%	ppf = feval(mfilename, t, z, 0);   % Free-slope.%	ppp = feval(mfilename, t, z, 1);   % Pinned-slope.%	zf = ppval(ppf, ti);%	zp = ppval(ppp, ti);%	h = plot(t, z, 'bo:', ti, zf, 'r-', ti, zp, 'g-');%	theBDF = [mfilename '(' int2str(nPoints) ')'];%	set(h, 'ButtonDownFcn', theBDF)%	legend(h, 'data', 'free spline', 'pinned slope')%	title(theBDF), xlabel('t'), ylabel('z')%	figure(gcf)%	set(gcf, 'Name', 'SplineP Demo')%	eval('zoomsafe', ' ')%	return%end%%if nargin < 3, theSlopeFlag = 0; end%%if theSlopeFlag%	dt = diff(t);%	dz = diff(z);%	slope = dz ./ dt;%	z = [slope(1); z(:); slope(end)];%end%%pp = spline(t(:), z(:));fclose(fout);disp(' ## Installing: "splineq.m" (text)')fout = fopen('splineq.m', 'w');%function [ti, pp] = splineq(t, z, nPoints, theSlopeFlag)%%% splineq -- Equally-spaced spline interpolation.%%  [ti, pp] = splineq(t, z, nPoints, theSlopeFlag) interpolates%%   complex z(t) at nPoints equally spaced along the track of%%   the spline curve, including the first and last points.  The%%   returned ti and pp are such that ppval(pp, ti) will provide%%   the actual equally-spaced values.  If theSlopeFlag is TRUE,%%   the end-slopes of the spline are pinned to the linear trend%%   between the first two and the last two points, respectively.%%  zi = splineq(t, z, nPoints, theSlopeFlag) returns the actual%%  interpolated values.%%  [ti, pp] = splineq(t, z, ti, theSlopeFlag) interpolates the%%  z(t) curve at the relative positions [0...1] along the%%  length of the curve, given by ti.%% zi = splineq(t, z, ti, theSlopeFlag) returns the actual%%  interpolated values.%% splineq(m, n) demonstrates itself with m random data points,%%  interpolated at n positions (default = 10*m), using pinned%%  slopes.  Click on the curve to do another demonstration.%%  The "zoomsafe" facility is invoked if available.%% spline('demo') calls "spline(5, 50)".% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 26-May-1999 15:37:29.%% Updated    31-Aug-1999 13:45:25.%%if nargin < 1, help(mfilename), t = 'demo'; end%%if isequal(t, 'demo'), t = 5; end%if ischar(t), t = eval(t); end%%if length(t) == 1%	m = t;%	n = 10*m;%	if nargin > 1, n = z; end%	if ischar(n), n = eval(n); end%	x = sort(rand(1, m));%	x = x - min(x);%	x = x / max(x);	y = rand(size(x));%	z = x + sqrt(-1)*y;%	t = linspace(min(x), max(x), m);%	flag = 1;%	if (1)%		[tti, pp] = feval(mfilename, t, z, n, flag);%	else   % Random interpolates.%		r = sort(rand(1, n));%		r(1) = 0; r(end) = 1;%		[tti, pp] = feval(mfilename, t, z, r, flag);%	end%	zzi = ppval(pp, tti);%	xxi = real(zzi); yyi = imag(zzi);%	h = plot(x, y, 'r*', xxi, yyi, 'bo-');%	legend(h, 'data', 'interp')%	theBDF = [mfilename '(' int2str(m) ', ' int2str(n) ')'];%	set(h, 'ButtonDownFcn', theBDF)%	title(theBDF), xlabel('x'), ylabel('y')%	axis equal%	eval('zoomsafe', ' ')%	figure(gcf)%	set(gcf, 'Name', 'SplineQ Demo')%	return%end%%if nargin < 2, help(mfilename), return, end%if nargin < 3, nPoints = 10 * length(z); end%if nargin < 4, theSlopeFlag = 0; end%%[oldm, n] = size(z);%if oldm == 1, z = z(:); end%%t = t(:);%%multiplier = 10;%%len = length(nPoints);%if len < 2%	ttemp = linspace(min(t), max(t), multiplier*nPoints+1).';%	di = linspace(0, 1, nPoints);%else%	ttemp = linspace(min(t), max(t), multiplier*len+1).';%	di = nPoints;%end%%if theSlopeFlag%	slope = diff(z) ./ diff(t);%	z = [slope(1); z; slope(end)];%end%%pp = spline(t, z);%ztemp = ppval(pp, ttemp);%%d = [0; cumsum(abs(diff(ztemp)))];%d = d - min(d);%d = d / max(d);%%ti = spline(d, ttemp, di);%if oldm == 1, ti = ti.'; end%%if nargout < 2%	ti = ppval(pp, ti);%endfclose(fout);disp(' ## Installing: "splinesafe.m" (text)')fout = fopen('splinesafe.m', 'w');%function theResult = splinesafe(t, z, ti, theSlopeFlag)%%% splinesafe -- Spline interpolation with end-slope control.%%  splinesafe(t, z, theSlopeFlag) returns "pp" coefficients for%%   interpolating complex z(t), such that ppval(pp, ti) will%%   provide interpolated values at points ti.  If theSlopeFlag%%   is TRUE, the end-slopes are pinned to the linear slopes%%   between the first two and the last two points in the data,%%   respectively.  If z is a matrix, this routine works down%%   the columns, unlike "spline" itself.%%  splinesafe(t, z, ti, slopeFlag) returns the interpolates for%%   z(t) at positions ti.  The result has the same shape as ti.%%  splinesafe(nPoints) demonstrates itself with nPoints%%   (default = 5) of random data.  Click on any curve%%   to do another demonstration.  The "zoomsafe" facility%%   is active if available.  See "help zoomsafe".%%  splinesafe('demo') calls splinesafe(5).% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 08:11:28.%% Updated    31-Aug-1999 13:44:59.%%if nargin < 1, help(mfilename), t = 'demo'; end%if isequal(t, 'demo'), t = 5; end%if ischar(t), t = eval(t); end%%if length(t) == 1%	nPoints = t;%	t = sort(rand(1, nPoints));%	t = t - min(t); t = t / max(t);%	z = rand(size(t));%	ti = linspace(min(t), max(t), 100*length(t)+1);%	ppf = feval(mfilename, t, z, 0);   % Free-slope.%	ppp = feval(mfilename, t, z, 1);   % Pinned-slope.%	zf = ppval(ppf, ti);%	zp = ppval(ppp, ti);%	h = plot(t, z, 'bo:', ti, zf, 'r-', ti, zp, 'g-');%	theBDF = [mfilename '(' int2str(nPoints) ')'];%	set(h, 'ButtonDownFcn', theBDF)%	legend(h, 'data', 'free spline', 'pinned slope')%	title(theBDF), xlabel('t'), ylabel('z')%	figure(gcf)%	set(gcf, 'Name', 'SplineSafe Demo')%	eval('zoomsafe', ' ')%	return%end%%if nargin < 3%	ti = [];%	theSlopeFlag = 0;%elseif nargin < 4%	if length(ti) == 1%		theSlopeFlag = ti;%		ti = [];%	else%		theSlopeFlag = 0;%	end%end%%t = t(:);%ti = ti(:);%%if min(size(z)) == 1%	z = z(:);%end%%if theSlopeFlag%	dt = diff(t); dt = dt([1 end], :);%	dz = diff(z); dz = dz([1 end], :);%	[m, n] = size(dz);%	dt = dt * ones(1, n);%	slope = dz ./ dt;%	z = [slope(1, :); z; slope(end, :)];%end%%% N.B. The "spline" routine works%%  across rows when z is a matrix.%%pp = spline(t.', z.');   % Spline works across rows!%%if isempty(ti)%	result = pp;%else%	zi = ppval(pp, ti.').';%	result = zi;%end%%if nargout > 0%	theResult = result;%else%	assignin('caller', 'ans', result)%endfclose(fout);disp(' ## Installing: "switchsafe.m" (text)')fout = fopen('switchsafe.m', 'w');%function theResult = switchsafe(x)%%% switchsafe -- Make an empty item safe for "switch" command.%%  switchsafe(x) returns a version of x, where x is empty,%%   that is safe to use in a PCWIN Matlab 6+ "switch"%%   statement.  A bug in PCWIN Matlab 6+ prohibits using%%   the empty-matrix [] in a switch.% %% Copyright (C) 2002 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 19-Mar-2002 14:58:56.%% Updated    19-Mar-2002 14:58:56.%%if nargin < 1, help(mfilename), return, end%%if isempty(x) & ~ischar(x)%	if any(findstr(lower(computer), 'pcwin'))%		x = '';%	end%end%%if nargout > 0%	theResult = x;%else%	assignin('caller', 'ans', x)%endfclose(fout);disp(' ## Installing: "tgriddata.m" (text)')fout = fopen('tgriddata.m', 'w');%function tgriddata(nData, nGrid)%%% tgriddata -- Compare "griddata" with "griddata1".%%  tgriddata(nData, nGrid) compares "griddata" with "griddata1",%%   for nData points (default = 100) and nGrid cells along each%%   edge of a square array (default = 10).% %% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 24-Jul-2000 14:01:04.%% Updated    24-Jul-2000 14:35:01.%%if nargin < 1, help(mfilename), end%%if nargin < 1, nData = 100; end%if nargin < 2, nGrid = 10; end%%if ischar(nData), nData = eval(nData); end%if ischar(nGrid), nGrid = eval(nGrid); end%%nData = round(nData);%nGrid = round(nGrid);%%x = rand(nData, 1);%y = rand(size(x));%z = x + y;%%g = linspace(0, 1, nGrid+1);%%[xi, yi] = meshgrid(g, g);%%tic%%zi = griddata(x, y, z, xi, yi, 'linear');%%f = find(isnan(zi));%if any(f)%	tri = delaunay(x, y);%	d = dsearch(x, y, tri, xi(f), yi(f));%	zi(f) = z(d);%end%%t(1) = toc;%%subplot(1, 2, 1)%hold off%surf(xi, yi, zi)%hold on%plot3(x, y, z, '*')%hold off%title('griddata')%%tic%%zi = griddata1(x, y, z, xi, yi, [inf 1 1]);%%t(2) = toc;%%subplot(1, 2, 2)%hold off%surf(xi, yi, zi)%hold on%plot3(x, y, z, '*')%hold off%title('griddata1')%%try, zoomsafe on, catch, end%%disp([' ## griddata  -- Elapsed time: ' num2str(t(1))])%disp([' ## griddata1 -- Elapsed time: ' num2str(t(2))])%%ratio = int2str(round(t(2)/t(1)));%disp([' ## GRIDDATA is --> ' ratio ' <-- times faster than GRIDDATA1.'])%%set(gcf, 'Name', [mfilename ' ' int2str(nData) ' ' int2str(nGrid)])%figure(gcf)fclose(fout);disp(' ## Installing: "unsort.m" (text)')fout = fopen('unsort.m', 'w');%function [y, j] = unsort(x, i, dim)%%% unsort -- Unsort a sorted vector.%%  [y, j] = unsort(x, i) restores sorted vector x%%   to its original sequence, using indices i from%%   the original call to SORT.  If x is a matrix,%%   the unsorting is columnwise, as in SORT.%%  [y, j] = unsort(x, i, dim) performs its work%%   in the dim direction, as in SORT.%%%% Also see: SORT.% %% Copyright (C) 2001 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 16-Oct-2001 18:22:22.%% Updated    20-Jun-2003 12:04:35.%%if nargin < 2, help(mfilename), return, end%%% Sort the indices.%%if nargin > 2%    [ignore, j] = sort(i, dim);%else%    [ignore, j] = sort(i);%end%%% Dimensions.%%sx = size(x);%ndims = length(sx);%    %if nargin < 3%    if prod(sx) == max(sx)%        dim = find(sx == max(sx));%    else%        dim = 1;%    end%end%%if dim < 1 | dim > ndims%    error([' ## ' mfilename ': Bad dim.'])%end%%% Permute the dim into dimension #1.%%dims = rem((0:ndims-1) + dim-1, ndims) + 1;%x = permute(x, dims);%j = permute(j, dims);%%% Reshape ND j into a matrix.%%sj = size(j);%j = reshape(j, [sj(1) prod(sj)/sj(1)]);%[m, n] = size(j);%%% Convert j to 1-d indices.%%j1d = j;%for k = 1:n%    j1d(:, k) = j1d(:, k) + (k-1)*m;%end%%% Unsort x via 1-d indices.%%y = x(j1d);%y = reshape(y, sj);%j = reshape(j, sj);%%% Un-permute.%%y = ipermute(y, dims);%j = ipermute(j, dims);fclose(fout);disp(' ## Installing: "vi.m" (text)')fout = fopen('vi.m', 'w');%function vi(theFile)%%% vi -- Invoke "vi" on Unix.%%  vi('theFile') invokes "vi" on 'theFile' in Unix.%%   If 'theFile' is empty or a wildcard, the "uigetfile"%%   dialog is activated to get the actual filename.  If%%   the OS is not Unix, "edit" is invoked.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 01-Jun-1999 09:04:48.%% Updated    06-Mar-2000 10:50:08.%%if nargin < 1, theFile = '*'; end%%if any(theFile == '*') | isempty(theFile)%	[f, p] = uigetfile(theFile);%	if ~any(f), return, end%	if p(end) ~= filesep, p(end+1) = filesep; end%	theFile = [p f];%end%%w = which(theFile);%%if any(w)%	clear(w)%	if isunix%		eval(['!vi ' w])%	else%		edit(w)%	end%else%	disp([' ## No such file: ' theFile])%endfclose(fout);disp(' ## Installing: "xyplaid.m" (text)')fout = fopen('xyplaid.m', 'w');%function [xout, yout, zout] = xyplaid(x, y, z, interpFlag)%%% xyplaid -- Make (x, y) data roughly plaid.%%  [xout, yout, zout] = xyplaid(x, y, z) places the%%   given (x, y) points into a plaid-like sequence,%%   then rearranges z accordingly.  Unoccupied%%   points are given a value of NaN.%%   ... = xplaid(x, y, z, interpFlag) interpolates%%   the missing values if the "interpFlag" is TRUE.%%  xyplaid(N) demonstrates itself for an N-by-N%%   array of points (default = 3).% %% Copyright (C) 2001 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 16-Oct-2001 13:11:24.%% Updated    22-Oct-2001 16:45:37.%%%if nargin < 4, interpFlag = ~~0; end%%% Demonstration:%%  We create (x, y, z) data with a few NaNs in z,%%  randomize the ordering, then call "xyplaid"%%  to reconstruct the original (x, y, z).%%if nargin < 1, help(mfilename), x = 'demo'; end%%if isequal(x, 'demo'), x = 3; end%if ischar(x), x = eval(x); end%%if length(x) == 1%	n = x;%	[x, y] = meshgrid(1:n, 1:n);%	z = floor(rand(n, n)*10);%	z(z == 0) = NaN;   % Set zeros to NaN.%	zi = z(:); [zi, i] = sort(zi);  % Randomize.%	xi = x(i);%	yi = y(i);%	f = find(isnan(zi));   % Delete NaNs, for fun.%	zi(f) = []; xi(f) = []; yi(f) = [];%	tic%	[xo, yo, zo] = feval(mfilename, xi, yi, zi);%	disp(' ')%	disp([' ## ' mfilename '(' int2str(n) ')'])%	disp([' ## Elapsed time: ' num2str(fix(10*toc)/10) ' s.'])%	f = ~isnan(z);%	if any(z(f) ~= zo(f))   % Compare result with original.%		if n < 11, z, zo, end%		disp([' ## Round-trip NOT successful.'])%	else%		disp([' ## Round-trip successful.'])%	end%	disp(' ')%	if nargout > 0%		xout = x; yout = y; zout = z;%	end%	return%end%%% Compute the destination array size.%%x = x(:);%y = y(:);%z = z(:);%%nPoints = prod(size(x));%%[xs, xind] = sort(x);   % Later, use "unsort".%[ys, yind] = sort(y);%%xd = (diff(xs) ~= 0);%yd = (diff(ys) ~= 0);%%xf = find(xd);%yf = find(yd);%%xftemp = [0; xf; nPoints];%yftemp = [0; yf; nPoints];%%m = max(diff(yftemp));%n = max(diff(xftemp));%%xftemp = [0; xf] + 1;%yftemp = [0; yf] + 1;%%xtic = xs(xftemp);   % Unique x values.%ytic = ys(yftemp);   % Unique y values.%%% Create the destination arrays.%%% Populate the arrays in orderly fashion.%%  Easily done if we convert each original%%   (x, y) pair into a pair of indices.%%   Use cumsum() on xd and yd, then unsort%%   to get back to the original sequence.%%jj = cumsum([1; (xd ~= 0)]);%ii = cumsum([1; (yd ~= 0)]);%%m = max(ii);%n = max(jj);%%jj = unsort(jj, xind);%ii = unsort(ii, yind);%%mask = full(sparse(ii, jj, 0*x+1, m, n));%mask(~mask) = NaN;%mask(mask == 1) = 0;%%xout = full(sparse(ii, jj, x, m, n)) + mask;%yout = full(sparse(ii, jj, y, m, n)) + mask;%zout = full(sparse(ii, jj, z, m, n)) + mask;%%% Fill-in the x and y values.%%[m, n] = size(xout);%for j = 1:n%	f = find(~isnan(xout(:, j)));%	if any(f)%		xout(:, j) = xout(f(1), j);%	end%end%%[m, n] = size(yout);%for i = 1:m%	f = find(~isnan(yout(i, :)));%	if any(f)%		yout(i, :) = yout(i, f(1));%	end%end%%% Interpolate the NaN values, if requested.%%  Would a flood fill scheme be suitable, in%%  which we fill single pixels before multiple?%%if any(interpFlag) & any(any(isnan(zout)))%	[m, n] = size(zout);%	z = zeros(m+2, n+2) + NaN;%	z(2:end-1, 2:end-1) = zout;%	[m, n] = size(z);%	for j = 2:n-1%		for i = 2:m-1%			if isnan(z(i, j))%				w = z(i-1:i+1, j-1:J+1);   % Neighbors.%				f = find(~isnan(w));%				if any(f)%					z(i, j) = mean(w(f));%				end%			end%		end%	end%	zout = z(2:end-1, 2:end-1);%endfclose(fout);disp(' ## Installing: "zoomsafe.m" (text)')fout = fopen('zoomsafe.m', 'w');%function theResult = zoomsafe(varargin)%%% zoomsafe -- Safe zooming with the mouse.%%  zoomsafe('demo') demonstrates itself with an interactive%%   line.  Zooming occurs with clicks that are NOT on the line.%%  zoomsafe('on') initiates safe-zooming in the current window.%%   Zooming occurs with each click in the current-figure, except%%   on a graphical object whose "ButtonDownFcn" is active.%%  zoomsafe('on', 'all') applies any new axis limits to all the%%   axes in the figure.  For companion axes having exactly the%%   same 'XLim' range as the one that was clicked, the 'YLim'%%   range remains intact.  The same synchronization is invoked%%   for corresponding 'YLim' situations as well.%%  zoomsafe('all') same as zoomsafe('on', 'all').%%  zoomsafe (no argument) same as zoomsafe('on').%%  zoomsafe('off') turns it off.%%  zoomsafe('out') zooms fully out.%%  zoomsafe(theAmount, theDirection) applies theAmount of zooming%%   to theDirection: 'x', 'y', or 'xy' (default).%%  Note: when zooming actually occurs, this routine returns%%   logical(1); otherwise, logical(0).%%%%   "Click-Mode"   (Macintosh Action)   Result%%   "normal"       (click)              Zoom out x2, centered on click.%%   "extend"       (shift-click)        Zoom in x2, centered on click.%%   "alt"          (option-click)       Center on click without zooming.%%   "open"         (double-click)       Revert to unzoomed state.%%   (Use click-down-and-drag to invoke a rubber-rectangle.)%%%%  Use click-drag to map the zooming to a rubber-rectangle.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 19-Jun-1997 08:42:57.%% Updated    02-Aug-1999 14:40:31.%%result = logical(0);%%if nargin < 1, varargin = {'on'}; end%%if isstr(varargin{1}) & ~isempty(varargin{1}) & ...%      any(varargin{1}(1) == '0123456789.')%   varargin{1} = eval(varargin{1});%end%%if ~isstr(varargin{1})%   theAmount = varargin{1};%   varargin{1} = 'manual';%end%%theFlag = logical(0);%isAll = logical(0);%%theOldXLim = get(gca, 'XLim');%theOldYLim = get(gca, 'YLim');%%switch varargin{1}%case 'manual'%   isAll = (nargin > 2);%   theDirection = 'xy';%   if nargin > 1, theDirection = varargin{2}; end%   theXLim = get(gca, 'XLim');%   theYLim = get(gca, 'YLim');%   if theAmount == 0%      axis tight%      switch theDirection%      case 'x'%         set(gca, 'YLim', theYLim)%      case 'y'%         set(gca, 'XLim', theXLim)%      case 'xy'%      otherwise%      end%      theAmount = 1;%      theXLim = get(gca, 'XLim');%      theYLim = get(gca, 'YLim');%   end%   cx = mean(theXLim);%   cy = mean(theYLim);%   dx = diff(theXLim) ./ 2;%   dy = diff(theYLim) ./ 2;%   switch theDirection%   case 'x'%      theXLim = cx + [-dx dx] ./ theAmount;%   case 'y'%      theYLim = cy + [-dy dy] ./ theAmount;%   case 'xy'%      theXLim = cx + [-dx dx] ./ theAmount;%      theYLim = cy + [-dy dy] ./ theAmount;%   otherwise%   end%   set(gca, 'XLim', theXLim, 'YLim', theYLim);%   theFlag = 1;%case 'demo'%   x = (0:30) ./ 30;%   y = rand(size(x)) - 0.5;%   for i = 2:-1:1%      subplot(1, 2, i)%      theLine = plot(x, y, '-o');%      set(theLine, 'ButtonDownFcn', 'disp(''## hello'')')%      set(gcf, 'Name', 'zoomsafe Demo')%   end%   result = zoomsafe('on', 'all');%case 'all'%   result = zoomsafe('on', 'all');%case 'on'%   isAll = (nargin > 1);%   if ~isAll%      set(gcf, 'WindowButtonDownFcn', 'if zoomsafe(''down''), end')%     else%      set(gcf, 'WindowButtonDownFcn', 'if zoomsafe(''down'', ''all''), end')%   end%case 'down'%   isAll = (nargin > 1);%   dozoom = 0;%   switch get(gcbo, 'Type')%   case {'figure'}   % "axes" not needed.%      switch switchsafe(get(gco, 'Type'))%	  case {'figure'}%         dozoom = 1;%      otherwise%         if isempty(get(gco, 'ButtonDownFcn'))%            dozoom = 1;%         end%      end%   otherwise%   end%   switch dozoom%   case 1%      thePointer = get(gcf, 'Pointer');%      set(gcf, 'Pointer', 'watch')%      theRBRect = rbrect;%      x = sort(theRBRect([1 3]));%      y = sort(theRBRect([2 4]));%      theXLim = get(gca, 'XLim');%      theYLim = get(gca, 'YLim');%      theLimRect = [theXLim(1) theYLim(1) theXLim(2) theYLim(2)];%	  d = doubleclick;   % Trap any double-click.%      if any(d)   % Valid double-click.%         if ~isAll%            result = zoomsafe('out');%           else%            result = zoomsafe('out', 'all');%         end%         set(gcf, 'Pointer', 'arrow')%		 if nargout > 0, theResult = result; end%         return%      elseif isempty(d)   % Ignore initial-click of double.%		 if nargout > 0, theResult = result; end%		  return%      else   % Not a double-click.%      end%      switch get(gcf, 'SelectionType')%      case 'normal'%         theFlag = 1;%         theAmount = [2 2];   % Zoom-in by factor of 2.%      case 'extend'%         theFlag = 1;%         theAmount = [0.5 0.5];%      case 'open'   % Pre-empted by "doubleclick" above.%         if ~isAll%            result = zoomsafe('out');%           else%            result = zoomsafe('out', 'all');%         end%         set(gcf, 'Pointer', 'arrow')%		 if nargout > 0, theResult = result; end%         return%      otherwise%         theAmount = [1 1];%         x = [mean(x) mean(x)];%         y = [mean(y) mean(y)];%      end%      if diff(x) == 0 | diff(y) == 0%         cx = mean(x);%         cy = mean(y);%         dx = diff(theXLim) ./ 2;%         dy = diff(theYLim) ./ 2;%         x = cx + [-dx dx] ./ theAmount(1);%         y = cy + [-dy dy] ./ theAmount(2);%        else%         r1 = theLimRect;%         r2 = theRBRect;%         switch get(gcf, 'SelectionType')%         case 'normal'%            r4 = maprect(r1, r2, r1);%         case 'extend'%            r4 = maprect(r2, r1, r1);%         otherwise%            r4 = r1;%         end%         x = r4([1 3]);%         y = r4([2 4]);%      end%      set(gca, 'XLim', sort(x), 'YLim', sort(y))%      theFlag = 1;%	  result = logical(1);%      switch thePointer%      case {'watch', 'circle'}%         thePointer = 'arrow';%      otherwise%      end%      set(gcf, 'Pointer', thePointer)%      set(gcf, 'Pointer', 'arrow')%   otherwise%   end%case 'motion'%case 'up'%case 'off'%   set(gcf, 'WindowButtonDownFcn', '');%case 'out'%   isAll = (nargin > 1);%   theFlag = 1;%   axis tight%   result = logical(1);%otherwise%   temp = eval(varargin{1});%   switch class(temp)%   case 'double'%      if ~isAll%         result = zoomsafe(temp);%        else%         result = zoomsafe(temp, 'all');%      end%   otherwise%      warning('## Unknown option')%   end%end%%% Synchronize the other axes.%%if isAll & theFlag & 1%   theGCA = gca;%   theXLim = get(theGCA, 'XLim');%   theYLim = get(theGCA, 'YLim');%   theAxes = findobj(gcf, 'Type', 'axes');%   for i = 1:length(theAxes)%      if theAxes(i) ~= theGCA%         axes(theAxes(i))%         x = get(gca, 'XLim');%         y = get(gca, 'YLim');%         if all(x == theOldXLim)%            set(theAxes(i), 'XLim', theXLim)%         end%         if all(y == theOldYLim)%            set(theAxes(i), 'YLim', theYLim)%         end%     end%   end%   axes(theGCA)%end%%if nargout > 0, theResult = result; end%%% legend   % Causes excessive flashing.%%function theResult = rbrect(onMouseUp, onMouseMove, onMouseDown)%%% rbrect -- Rubber rectangle tracking (Matlab-4 and Matlab-5).%%  rbrect('demo') demonstrates itself.%%  rbrect('onMouseUp', 'onMouseMove', 'onMouseDown') conducts interactive%%   rubber-rectangle tracking, presumably because of a mouse button press%%   on the current-callback-object (gcbo).  The 'on...' callbacks are%%   automatically invoked with: "feval(theCallback, theInitiator, theRect)"%%   after each window-button event, using the object that started this%%   process, plus theRect as [xStart yStart xEnd yEnd] for the current%%   rubber-rect.  The callbacks default to ''.  The coordinates of the%%   rectangle are returned as [xStart yStart xEnd yEnd].%%% Private interface:%%  rbrect(1) is automatically called on window-button-motions.%%  rbrect(2) is automatically called on window-button-up.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 03-Jun-1997 15:54:39.%% Version of 11-Jun-1997 15:17:22.%% Version of 17-Jun-1997 16:52:46.%%global RBRECT_HANDLE%global RBRECT_INITIATOR%global RBRECT_ON_MOUSE_MOVE%%if nargin < 1, onMouseUp = 0; end%%if strcmp(onMouseUp, 'demo')%   help rbrect%   x = cumsum(rand(200, 1) - 0.45);%   y = cumsum(rand(200, 1) - 0.25);%   h = plot(x, y, '-r');%   set(h, 'ButtonDownFcn', 'disp(rbrect)')%   figure(gcf), set(gcf, 'Name', 'RBRECT Demo')%   return%  elseif isstr(onMouseUp)%   theMode = 0;%  else%   theMode = onMouseUp;%   onMouseUp = '';%end%%%if theMode == 0   % Mouse down.%   if nargin < 3, onMouseDown = ''; end%   if nargin < 2, onMouseMove = ''; end%   if nargin < 1, onMouseUp = ''; end%   theVersion = version;%   isVersion5 = (theVersion(1) == '5');%   if isVersion5%      theCurrentObject = 'gcbo';%     else%      theCurrentObject = 'gco';%   end%   RBRECT_INITIATOR = eval(theCurrentObject);%   switch get(RBRECT_INITIATOR, 'Type')%   case 'line'%      theColor = get(RBRECT_INITIATOR, 'Color');%   otherwise%      theColor = 'black';%   end%   RBRECT_ON_MOUSE_MOVE = onMouseMove;%   pt = mean(get(gca, 'CurrentPoint'));%   x = [pt(1) pt(1)]; y = [pt(2) pt(2)];%   RBRECT_HANDLE = line(x, y, ...%                        'EraseMode', 'xor', ...%                        'LineStyle', '--', ...%                        'LineWidth', 2.5, ...%                        'Color', theColor, ...%                        'Marker', '+', 'MarkerSize', 13, ...%                        'UserData', 1);%   set(gcf, 'WindowButtonMotionFcn', 'rbrect(1);')%   set(gcf, 'WindowButtonUpFcn', 'rbrect(2);')%   theRBRect = [x(1) y(1) x(2) y(2)];%   if ~isempty(onMouseDown)%      feval(onMouseDown, RBRECT_INITIATOR, theRBRect)%   end%   thePointer = get(gcf, 'Pointer');%   set(gcf, 'Pointer', 'circle');%   if isVersion5 & 0   % Disable for rbrect()..%      eval('waitfor(RBRECT_HANDLE, ''UserData'', [])')%     else%      set(RBRECT_HANDLE, 'Visible', 'off')   % Invisible.%      eval('rbbox')   % No "waitfor" in Matlab-4.%   end%   set(gcf, 'Pointer', thePointer);%   set(gcf, 'WindowButtonMotionFcn', '')%   set(gcf, 'WindowButtonUpFcn', '')%   x = get(RBRECT_HANDLE, 'XData');%   y = get(RBRECT_HANDLE, 'YData');%   delete(RBRECT_HANDLE)%   theRBRect = [x(1) y(1) x(2) y(2)];   % Scientific.%   if ~isempty(onMouseUp)%      feval(onMouseUp, RBRECT_INITIATOR, theRBRect)%   end%elseif theMode == 1   % Mouse move.%   pt2 = mean(get(gca, 'CurrentPoint'));%   x = get(RBRECT_HANDLE, 'XData');%   y = get(RBRECT_HANDLE, 'YData');%   x(2) = pt2(1); y(2) = pt2(2);%   set(RBRECT_HANDLE, 'XData', x, 'YData', y)%   theRBRect = [x(1) y(1) x(2) y(2)];%   if ~isempty(RBRECT_ON_MOUSE_MOVE)%      feval(RBRECT_ON_MOUSE_MOVE, RBRECT_INITIATOR, theRBRect)%   end%elseif theMode == 2   % Mouse up.%   pt2 = mean(get(gca, 'CurrentPoint'));%   x = get(RBRECT_HANDLE, 'XData');%   y = get(RBRECT_HANDLE, 'YData');%   x(2) = pt2(1); y(2) = pt2(2);%   set(RBRECT_HANDLE, 'XData', x, 'YData', y, 'UserData', [])%else%end%%if nargout > 0, theResult = theRBRect; end%%function rect4 = maprect(rect1, rect2, rect3)%%% maprect -- Map rectangles.%%  maprect(rect1, rect2, rect3) returns the rectangle%%   that is to rect3 what rect1 is to rect2.  Each%%   rectangle is given as [x1 y1 x2 y2].%%  maprect('demo') demonstrates itself by showing%%   that maprect(r1, r2, r1) ==> r2.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 19-Jun-1997 08:33:39.%%if nargin < 1, help(mfilename), rect1 = 'demo'; end%%if strcmp(rect1, 'demo')%   rect1 = [0 0 3 3];%   rect2 = [1 1 2 2];%   rect3 = rect1;%   r4 = maprect(rect1, rect2, rect3);%   begets(mfilename, 3, rect1, rect2, rect3, r4)%   return%end%%if nargin < 3, help(mfilename), return, end%%r4 = zeros(1, 4);%i = [1 3];%for k = 1:2%   r4(i) = polyval(polyfit(rect1(i), rect2(i), 1), rect3(i));%   i = i + 1;%end%%if nargout > 0%   rect4 = r4;%  else%   disp(r4)%end%%function theResult = doubleclick%%% doubleclick -- Trap for double-clicks.%%  doubleclick (no argument) returns TRUE if a click%%   is detected during its execution; otherwise, FALSE.%%   Call "doubleclick" during a "WindowButtonDown" or%%   "ButtonDown" callback, preferably at the top of%%   procedure.  The 'Interruptible' property of the%%   callback-object must be 'on'.  The double-click%%   time is 0.5 sec.  A valid double-click causes%%   two values to be returned: first, a logical(1),%%   then an empty-matrix [].  The latter signifies%%   the single-click that initiated the process.%%   For a valid single-click, only logical(0) is%%   returned.% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-Jul-1998 09:47:16.%%global CLICK_COUNT%%DOUBLE_CLICK_TIME = 1/2;   % Seconds.%%if isempty(CLICK_COUNT), CLICK_COUNT = 0; end%%CLICK_COUNT = CLICK_COUNT + 1;%%if CLICK_COUNT == 1%	tic%	while isequal(CLICK_COUNT, 1) & toc < DOUBLE_CLICK_TIME, end%end%%drawnow   % Process the event-cue.%%% Note:%%  Despite the "drawnow" seen above, Matlab does not%%  update the "SelectionType" in timely fashion, so%%  it cannot be used to trap a double-click properly.%%result = (CLICK_COUNT > 1);%%CLICK_COUNT = [];%%if nargout > 0%	theResult = result;%else%	disp(result)%endfclose(fout);bund_setdir('@seagrid')disp(' ## Installing: "SeaGrid_Pot_Setup.mat" (binary)')fout = fopen('SeaGrid_Pot_Setup.mat', 'w');%?4d41544c414220352e30204d41542d66696c652c20506c6174%?666f726d3a204d4143322c2043726561746564206f6e3a2054%?6875205365702033302031353a32353a313820313939392020%?20202020202020202020202020202020202020202020202020%?20202020202020202020202020202020202020202020202001%?004d490000000e000001000000000600000008000000020000%?00000000000500000008000000010000000100000001000000%?11536561477269645f506f745f536574757000000000000000%?00040005000000200000000100000040506f74735f45646765%?5f31000000000000000000000000000000000000000000506f%?74735f456467655f3200000000000000000000000000000000%?00000000000000000e00000030000000060000000800000006%?00000000000000050000000800000001000000010000000100%?000000000100020a0000000000000e00000030000000060000%?00080000000600000000000000050000000800000001000000%?010000000100000000000100020a000000fclose(fout);disp(' ## Installing: "SeaGrid_Setup.mat" (binary)')fout = fopen('SeaGrid_Setup.mat', 'w');%?4d41544c414220352e30204d41542d66696c652c20506c6174%?666f726d3a204d4143322c2043726561746564206f6e3a2054%?6875205365702033302031353a32323a323520313939392020%?20202020202020202020202020202020202020202020202020%?20202020202020202020202020202020202020202020202001%?004d490000000e000006000000000600000008000000020000%?00000000000500000008000000010000000100000001000000%?0d536561477269645f53657475700000000004000500000020%?000000010000010050726f6a656374696f6e00000000000000%?00000000000000000000000000000043656c6c735f45646765%?5f31000000000000000000000000000000000000000043656c%?6c735f456467655f3200000000000000000000000000000000%?000000004772696444656e73697479466163746f7200000000%?00000000000000000000004d696e696d756d44657074680000%?0000000000000000000000000000000000004d6178696d756d%?44657074680000000000000000000000000000000000000000%?456e64536c6f7065466c616700000000000000000000000000%?000000000000005573654d657846696c650000000000000000%?00000000000000000000000000000000000e00000200000000%?06000000080000000100000000000000050000000800000001%?0000000200000001000000000000000e000001900000000600%?00000800000001000000000000000500000008000000040000%?00010000000100000009746865537472696e67000000000000%?000000000e0000004800000006000000080000000400000000%?0000000500000008000000010000000a000000010000000000%?0000040000001400470065006f006700720061007000680069%?0063000000000000000e000000600000000600000008000000%?04000000000000000500000008000000010000001700000001%?00000000000000040000002e004c0061006d00620065007200%?7400200043006f006e0066006f0072006d0061006c00200043%?006f006e0069006300000000000e0000004000000006000000%?08000000040000000000000005000000080000000100000008%?00000001000000000000000400000010004d00650072006300%?610074006f00720000000e0000005000000006000000080000%?0004000000000000000500000008000000010000000d000000%?0100000000000000040000001a00530074006500720065006f%?00670072006100700068006900630000000000000000000e00%?00003800000006000000080000000600000000000000050000%?00080000000100000001000000010000000874686556616c75%?6500010002030000000000000e000000300000000600000008%?00000006000000000000000500000008000000010000000100%?0000010000000000010002280000000000000e000000300000%?00060000000800000006000000000000000500000008000000%?0100000001000000010000000000010002280000000000000e%?00000030000000060000000800000006000000000000000500%?00000800000001000000010000000100000000000100020200%?00000000000e00000030000000060000000800000006000000%?00000000050000000800000001000000010000000100000000%?00010002000000000000000e00000038000000060000000800%?00000600000000000000050000000800000001000000010000%?00010000000000000009000000087ff0000000000000000000%?0e000000c00000000600000008000000010000000000000005%?00000008000000010000000200000001000000000000000e00%?00005000000006000000080000000400000000000000050000%?00080000000100000008000000010000000974686553747269%?6e670000000000000000000004000000100063006800650063%?006b0062006f00780000000e00000038000000060000000800%?00000600000000000000050000000800000001000000010000%?00010000000874686556616c75650001000201000000000000%?0e000000c00000000600000008000000010000000000000005%?00000008000000010000000200000001000000000000000e00%?00005000000006000000080000000400000000000000050000%?00080000000100000008000000010000000974686553747269%?6e670000000000000000000004000000100063006800650063%?006b0062006f00780000000e00000038000000060000000800%?00000600000000000000050000000800000001000000010000%?00010000000874686556616c75650001000201000000fclose(fout);disp(' ## Installing: "SeaGrid_Spacing_Setup.mat" (binary)')fout = fopen('SeaGrid_Spacing_Setup.mat', 'w');%?4d41544c414220352e30204d41542d66696c652c20506c6174%?666f726d3a204d4143322c2043726561746564206f6e3a2054%?6875205365702033302031353a32343a353920313939392020%?20202020202020202020202020202020202020202020202020%?20202020202020202020202020202020202020202020202001%?004d490000000e000001e80000000600000008000000020000%?00000000000500000008000000010000000100000001000000%?15536561477269645f53706163696e675f5365747570000000%?0004000500000020000000010000006053706163696e67735f%?456467655f3100000000000000000000000000000000005370%?6163696e67735f456467655f32000000000000000000000000%?000000000044656e736974795f466c61670000000000000000%?0000000000000000000000000000000e000000300000000600%?00000800000004000000000000000500000008000000010000%?0001000000010000000000020004007300000000000e000000%?30000000060000000800000004000000000000000500000008%?00000001000000010000000100000000000200040073000000%?00000e000000c0000000060000000800000001000000000000%?00050000000800000001000000020000000100000000000000%?0e000000500000000600000008000000040000000000000005%?00000008000000010000000800000001000000097468655374%?72696e67000000000000000000000400000010006300680065%?0063006b0062006f00780000000e0000003800000006000000%?08000000060000000000000005000000080000000100000001%?000000010000000874686556616c75650001000200000000fclose(fout);disp(' ## Installing: "doaddmenus.m" (text)')fout = fopen('doaddmenus.m', 'w');%function theResult = doaddmenus(self)%%% seagrid/doaddmenus -- Add menus to "seagrid" window.%%  doaddmenus(self) adds menus to the window associated%%   with self, a "seagrid" object.%%%% (Now Presto Compliant)% %% Copyright (C) 1997 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 21-Jul-1997 16:30:13.%% Updated    09-Apr-2002 15:43:39.%%if nargin < 1, help(mfilename), return, end%%theFigure = ps(self);%%theMenuBar = get(theFigure, 'MenuBar');%%h = findobj(gcf, 'Type', 'uimenu');%if any(h), delete(h), end%%% New menus.%%theLabels = ...%{ ...%'<SeaGrid>'%'>About SeaGrid...'%'-New'%'>Load...'%'>>Coastline File...'%'>>Bathymetry File...'%'->Boundary File...'%'->SeaGrid File...'%'-Save'%'>Save As...'%'>Revert To Saved'%'-Save As JPEG...'%'-Print...'%'-Quit'%...%'<View>'%{'>Setup...', ''''}%'-Control Points'%'>Roll'%'-Spacers'%'>Spacer Count...'%'>Spacing Setup...'%{'-Axes Equal', '='}%{'>Margin', '-'}%{'-Zoom In', '['}%{'>Zoom Out', ']'}%{'>No Zoom', '\'}%'-Input Units'%'>>Deg'%'>>Km'%'->Proj'%'>Map Units'%'>>Degrees'%'>>Kilometers'%'->Projected'%...%'<Compute>'%'>Depths And Land Mask'%'-Depths'%% '>Grid Depths Once'%% '>Grid Depths Always'%'>Delete Depths'%'-Land Mask'%% '>Land Mask Once'%% '>Land Mask Always'%'>Set To All Land'%'>Set To All Water'%'>Delete Mask'%%	'>Erase Mask'%'-Orthogonality'%{'-Update', 'U'}%...%'<Toggle>'%'>Coastline'%'>Bathymetric Points'%%	'-Depths'%%	'>Mask'%{'-Graticule', 'G'}%{'-MenuBar', 'M'}%'-Verbose'%'-Show Details'%'-Refresh Screen'%...%'<Help>'%{'>Help...', 'H'}%'-Bugs...'%'>Depths Display...'%'>Convert To Ecom...'%'>Convert To Roms...'%'>Future Work...'%'>General...'%'>Getting Started...'%'>Loading...'%'>Masking...'%'>Mathematics...'%'>Menus...'%'>Orthogonality Display...'%'>Points...'%'>Private...'%'>Projection...'%'>Saving...'%'>Setup Dialog...'%'>Spacing...'%'>Units...'%'>Updating...'%'>Version...'%'>Zooming...'%'-Warranty...'%'>WWW Home Page...'%};%%theMenus = menu(self, theLabels);%%theEventHandlers = { ...%	'aboutseagrid', 'help_about', ...%	'new', 'donew', ...%	'coastlinefile', 'getcoastline', ...%	'bathymetryfile', 'getcoastline', ...%	'boundaryfile', 'getboundary', ...%	'seagridfile', 'getseagrid', ...%	'save', 'dosave', ...%	'saveas', 'dosaveas', ...%	'reverttosaved', 'dorevert', ...%	'print', 'doprint', ...%	'quit', 'doquit'%};%%self = handler(self, theEventHandlers{:});%%enable(self)%%set(theFigure, 'MenuBar', 'none')%%if nargout > 0, theResult = theMenus; endfclose(fout);disp(' ## Installing: "dobathymetry.m" (text)')fout = fopen('dobathymetry.m', 'w');%function theResult = dobathymetry(self, itNeedsUpdate)%%% seagrid/dobathymetry -- Attach bathymetry to grid.%%  dobathymetry(self) grids and draws bathymetry on%%   the grid, on behalf of self, a "seagrid" object.%%   Only the grid-cell centers are represented.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Apr-1999 16:40:37.%% Updated    22-Oct-2001 16:45:37.%%if nargout > 0, theResult = self; end%if nargin < 1, help(mfilename), return, end%if nargin < 2, itNeedsUpdate = psget(self, 'itNeedsUpdate'); end%%theFigure = ps(self);%isVerbose = psget(self, 'itIsVerbose');%theGridSize = psget(self, 'itsGridSize');%%h = findobj(theFigure, 'Type', 'line', 'Tag', 'bathymetry');%if ~any(h)%	if nargout > 0, theResult = self; end%	return%end%%delete(colorbar)%%x = get(h, 'XData');%y = get(h, 'YData');%z = get(h, 'ZData');%%if isempty(x) | isempty(y) | isempty(z)%	if nargout > 0, theResult = self; end%	return%end%%% If the bathymetry was previously gridded,%%  then use "xyplaid" to organize it into%%  rectangular arrays, for interpolation%%  with "interp2", rather than "griddata".%%wasGridded = ~~0;   % Note this flag.%if min(size(x)) > 1%	wasGridded = ~~1;%else%	n = sum(diff(sort(x)) ~= 0) + 1;%	m = sum(diff(sort(y)) ~= 0) + 1;%	if m*n < 2*prod(size(x))%		[x, y, z] = xyplaid(x, y, z);%		z = gridfill(z);%		wasGridded = ~~1;%	end%end%%% Bathymetry at grid-cell centers only.%%theSpacedGrids = psget(self, 'itsSpacedGrids');%if isempty(theSpacedGrids), return, end%%xi = theSpacedGrids{1};   % Corners.%oldxi = xi;%xi = interp2(xi, 1);%xi = xi(2:2:end-1, 2:2:end-1);   % Centers.%%yi = theSpacedGrids{2};   % Corners.%oldyi = yi;%yi = interp2(yi, 1);%yi = yi(2:2:end-1, 2:2:end-1);   % Centers.%%zi = psget(self, 'itsGriddedBathymetry');%%if ~isequal(size(xi), size(yi)) | ~isequal(size(xi), size(zi))%	itNeedsUpdate = 1;%end%%% We grid the bathymetry as best we can, then re-grid%%  the NaN results using the "nearest" depth data.%%if itNeedsUpdate%	busy%	drawnow%	if isunix%		shouldAlert = (prod(theGridSize) > 1000);%	else%		shouldAlert = (prod(theGridSize) > 100);%	end%	if shouldAlert%		h = warndlg('Please wait ...', 'Computing Depths');%		drawnow%	end%	if wasGridded   % Easy 2d-interpolation scheme.%		theGriddingMethod = 'linear';%		zi = interp2(x, y, z, xi, yi, theGriddingMethod);%	elseif (1)   % Matlab triangulation scheme.%		theGriddingMethod = psget(self, 'itsGriddingMethod');%		zi = griddata(x, y, z, xi, yi, theGriddingMethod);   % Grid z.%	else   % Inverse-distance scheme.%		theGriddingMethod = [inf, 1, 1];%		zi = griddata1(x, y, z, xi, yi, theGriddingMethod);   % Grid z.%	end%	f = find(isnan(zi));%	%	if isVerbose%		disp([' ## ' mfilename ': NaNs not modified.'])%	end%	f = [];   % Testing only -- do not modify NaNs.%%	if any(f)   % Use "nearest" depth point.%		tri = delaunay(x, y);%		indices = dsearch(x, y, tri, xi(f), yi(f));%		if all(indices)%			zi(f) = z(indices);%		end%	end%	psset(self, 'itsGriddedBathymetry', zi);%	if shouldAlert & ishandle(h), delete(h), end%	idle%else%	zi = psget(self, 'itsGriddedBathymetry');%end%%% Mask the bathymetry.%%theMask = psget(self, 'itsMask');%if ~isempty(theMask)%	if (0)   % Old way.%		b = zi(2:2:end, 2:2:end);%	else%		b = zi;%	end%	b(logical(theMask)) = NaN;%	if (0)   % Old way.%		zi(2:2:end, 2:2:end) = b;%	else%		zi = b;%	end%	psset(self, 'itsGriddedBathymetry', zi);%end%%theFigure = ps(self);%setsafe(0, 'CurrentFigure', theFigure)%%hold on%%% Note: we will want to expand the (xi, yi, zi) by%%  one row and column to fill the drawn grid, for%%  appearances' sake.%%if (0)%	zi = zi;%else%	newzi = zi;%	newzi(end+1, :) = newzi(end, :);%	newzi(:, end+1) = newzi(:, end);%end%%if (0)   % Obsolete code.%	%if (0)%	h = surf(xi, yi, zi);%else%	h = surf(oldxi, oldyi, newzi);%end%%theEraseMode = 'xor';%%theHitTest = 'off';%theHitTest = 'on';%%set(h, ...%	'EraseMode', theEraseMode, ...%	'HitTest', theHitTest, ...%	'Tag', 'gridded-bathymetry' ...%	);%	%if (0), colormap copper, end   % Color needs work%shading flat%view(2)%%tic%if (0)%	[c, h] = contour(xi, yi, zi);%else%	[c, h] = contour(xi, yi, zi);%end%set(h, ...%		'EraseMode', theEraseMode, ...%		'HitTest', theHitTest, ...%		'Tag', 'contoured-bathymetry' ...%	);%t = toc;%%hold off%%h = colorbar;%setsafe(get(h, 'Ylabel'), 'String', 'Depth')%%end%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "doedges.m" (text)')fout = fopen('doedges.m', 'w');%function theResult = doedges(self)%%% doedges -- Draw the edges.%%  doedges(self) draws the interactive boundary%%   associated with self, a "seagrid" object.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 09-Apr-1999 17:03:02.%% Updated    21-Sep-2000 15:02:41.%%% N.B. -- We eliminate screen flashing by applying the%%  'xor' EraseMode to each drawing motion and using%%  "plot", rather than "line".%%% N.B. -- This routine can be made more efficient by%%  rearranging, rather than eliminating, handles.%%if nargout > 0, theResult = self; end%%% Initialize.%%thePoints = psget(self, 'itsPoints');%%if length(thePoints)  < 4, return, end%%x = zeros(size(thePoints));%y = zeros(size(thePoints));%theTags = cell(size(thePoints));%theEdges = zeros(size(thePoints));   % Edge handles.%theCorners = [];   % Corner indices.%%theEraseMode = psget(self, 'itsEraseMode');%theCornerTag = psget(self, 'itsCornerTag');%theEdgePointTag = psget(self, 'itsEdgePointTag');%%% Get the xy data and corner-point indices.%%if min(size(thePoints)) == 1%	for k = 1:length(thePoints)%		x(k) = get(thePoints(k), 'XData');%		y(k) = get(thePoints(k), 'YData');%		theTags{k} = get(thePoints(k), 'Tag');%		if isequal(theTags{k}, theCornerTag)%			theCorners = [theCorners k];   % #1 is always a theCorners-point.%		end%	end%else%	x = thePoints(:, 1); x = x(:).';%	y = thePoints(:, 2); y = y(:).';%	t = thePoints(:, 3); t = t(:).';%	theCorners = find(t);%	theTags = cell(size(t));%	for k = 1:length(t)%		switch t(k)%		case 0%			theTags{k} = theEdgePointTag;%		otherwise%			theTags{k} = theCornerTag;%		end%	end%	theEdges = zeros(size(x));   % Edge handles.%end%%% Compute splines.%%  Our independent variable is the "index" number, but%%  that leads to seemingly, odd behavior when adding%%  a point.  A better variable would be distance along%%  the edge or curve.  We wonder whether there is a%%  "root" spline, similar to the "root" that attends%%  iterative median-filtering.   Must investigate.%%xtemp = x;%xtemp(end+1) = xtemp(1);%ytemp = y;%ytemp(end+1) = ytemp(1);%ztemp = xtemp + sqrt(-1) * ytemp;%ctemp = theCorners;%ctemp(end+1) = length(xtemp);%%theEndSlopeFlag = psget(self, 'itsEndSlopeFlag');%%for i = 1:4%	ct = ctemp(i):ctemp(i+1);%	zt = ztemp(ctemp(i):ctemp(i+1));%	if theEndSlopeFlag%		s = diff(zt) ./ diff(ct);%		zt = [s(1) zt s(end)];   % End-slopes; see "help spline".%	end%	pp{i} = spline(ct, zt);%end%%% Delete old edges.%%oldEdges = findobj('Type', 'line', 'Tag', 'edge');%delete(oldEdges)%%% Draw new edges.%%ppindex = 0;%for k = 1:length(xtemp)-1%	if any(k == ctemp)%		ppindex = ppindex+1;%	end%	xx = linspace(k, k+1, 11);%	zz = ppval(pp{ppindex}, xx);%	hold on%	theEdges(k) = plot(real(zz), imag(zz), 'r-', 'EraseMode', theEraseMode);%	hold off%end%%theTag = psget(self, 'itsEdgeTag');%theLineStyle = psget(self, 'itsEdgeLineStyle');%%theLineWidth = get(0, 'DefaultLineLineWidth');%theLineWidth = 2.5;%%theButtonDownFcn = 'psevent down';%%thePointFlag = psget(self, 'itsPointFlag');%if ~thePointFlag, theButtonDownFcn = ''; end%%set(theEdges, 'Tag', theTag, 'LineStyle', theLineStyle, ...%				'LineWidth', theLineWidth, ...%				'ButtonDownFcn', theButtonDownFcn)%%psset(self, 'itsEdges', theEdges)%%% Stash a NaN place-holder into each edge, that will%%  indicate the position of the new point, should%%  that edge be clicked upon.%%for k = 1:length(thePoints)%	p = zeros(1, length(thePoints)+1);%	p(k+1) = NaN;%	set(theEdges(k), 'UserData', p)%end%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "doevent.m" (text)')fout = fopen('doevent.m', 'w');%function theResult = doevent(self, theCommand, theMessage)%%% seagrid/doevent -- Event handler for "seagrid" object.%%  doevent(self, theCommand, theMessage) processes theCommand%%   and theMessage on behalf of self, a "seagrid" object.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Apr-1999 20:44:42.%% Updated    11-Apr-2002 11:22:20.%%if nargin < 1, help(mfilename), return, end%if nargin < 2, theCommand = ''; end%if nargin < 3, theMessage = ''; end%%switch lower(theCommand)%case 'callback'%	if ~isempty(gcbo)%		switch get(gcbo, 'Type')%		case {'uimenu', 'uicontrol'}%			theCommand = get(gcbo, 'Tag');%		end%	end%otherwise%end%%theCommand = translate(self, theCommand);%%if nargout > 0, theResult = self; end%%if verbose(self)%	disp([' ## ' mfilename ' ' theCommand])%end%%theFigure = ps(self);%%switch lower(theCommand)%case 'buttondownfcn'%	switch get(gcbo, 'Type')%	case 'surface'%		theMaskTool = psget(self, 'itsMaskTool');%		if isequal(get(gcbo, 'Tag'), 'masktool')%			feval('grid2mask', theCommand);%			result = feval('grid2mask', 'mask');%			theMask = isnan(result);%			theMask = ~~theMask;%			theLand = theMask;%			theWater = ~theLand;%			psset(self, 'itsMask', theMask)%			psset(self, 'itsWater', theWater)%			psset(self, 'itsLand', theLand)%			bathy = psget(self, 'itsGriddedBathymetry');%		end%	end%case {'deletedepths', 'setalltozero'}%	theMaskTool = psget(self, 'itsMaskTool');%	if any(theMaskTool)%		domasktool(self)   % Delete it.%	end%	psset(self, 'itsGriddedBathymetry', [])%	psset(self, 'itsBathymetryFlag', 0)%	h = findobj(gcf, 'Type', 'uimenu', 'Tag', 'Grid Depths');%	set(h, 'Checked', 'off')%	doupdate(self, 1)%case 'deletemask'%	theMaskTool = psget(self, 'itsMaskTool');%	if any(theMaskTool)%		domasktool(self)   % Delete it.%	end%	psset(self, 'itsMask', [])%	psset(self, 'itsLand', [])%	psset(self, 'itsWater', [])%	psset(self, 'itsMaskingFlag', 0)%	psset(self, 'itsMaskToolFlag', 0)%	h = findobj(gcf, 'Type', 'uimenu', 'Tag', 'Land Mask');%	set(h, 'Checked', 'off')%	doupdate(self, 1)%case {'depths', 'landmask', 'depthsandlandmask'}%	switch lower(theCommand)%	case 'depths'%		psset(self, 'itsBathymetryFlag', 1)%	case 'landmask'%		psset(self, 'itsMaskingFlag', 1)%	case 'depthsandlandmask'%		psset(self, 'itsBathymetryFlag', 1)%		psset(self, 'itsMaskingFlag', 1)%	end%	psset(self, 'itsMaskToolFlag', 1)%	needsUpdate = 1;%	doupdate(self, needsUpdate)%case 'settoallland'%	theMask = psget(self, 'itsMask');%	if any(any(theMask))%		theMaskTool = psget(self, 'itsMaskTool');%		if any(theMaskTool), domasktool(self), end%		theMask = psget(self, 'itsMask');%		theMask = ~zeros(size(theMask));   % All Land.%		theLand = theMask;%		theWater = ~theLand;%		psset(self, 'itsMask', theMask)%		psset(self, 'itsLand', theLand)%		psset(self, 'itsWater', theWater)%		psset(self, 'itsMaskingFlag', 0)%		h = findobj(theFigure, 'Type', 'uimenu', 'Label', 'Land Mask');%		set(h, 'Checked', 'off')%		doupdate(self, 0)%	end%case 'settoallwater'%	theMask = psget(self, 'itsMask');%	if any(any(theMask))%		theMaskTool = psget(self, 'itsMaskTool');%		if any(theMaskTool), domasktool(self), end%		theMask = psget(self, 'itsMask');%		theMask = ~~zeros(size(theMask));   % All water.%		theLand = theMask;%		theWater = ~theLand;%		psset(self, 'itsMask', theMask)%		psset(self, 'itsLand', theLand)%		psset(self, 'itsWater', theWater)%		psset(self, 'itsMaskingFlag', 0)%		h = findobj(theFigure, 'Type', 'uimenu', 'Label', 'Land Mask');%		set(h, 'Checked', 'off')%		doupdate(self, 0)%	end%case {'corner', 'down', 'motion', 'up'}%	getboundary(self, theCommand, theMessage)%case 'help'%	dohelp(self)%case 'aboutseagrid'%	help_about(self)%case 'bugs'%	help_bugs(self)%case 'depthsdisplay'%	help_depths(self)%case 'converttoecom'%	help_ecom(self)%case 'converttoroms'%	help_roms(self)%%	case 'converttoscrum'%%		help_scrum(self)%case 'futurework'%	help_future(self)%case 'general'%	help_general(self)%case 'gettingstarted'%	help_start(self)%case 'wwwhomepage'%	sgweb%case 'loading'%	help_loading(self)%case 'mathematics'%	help_math(self)%case 'masking'%	help_masking(self)%case 'menus'%	help_menus(self)%case 'orthogonalitydisplay'%	help_orthogonality(self)%case 'points'%	help_points(self)%case 'private'%	help_private(self)%case 'projection'%	help_projection(self)%case 'saving'%	help_saving(self)%case 'setupdialog'%	help_setup_dialog(self)%case 'spacing'%	help_spacing(self)%case 'units'%	help_units(self)%case 'updating'%	help_updating(self)%case 'version'%	version(self)%case 'warranty'%	help_warranty(self)%case 'wwwhomepage'%	web(self)%case 'zooming'%	help_zooming(self)%case 'setup'%	dosetup(self)%	doupdate(self)%case 'new'%	seagrid%case 'coastline'%	h = findobj('Type', 'line', 'Tag', 'coastline');%	showhide(h)%case {'bathymetry', 'bathymetricpoints'}%	h = findobj('Type', 'line', 'Tag', 'bathymetry');%	showhide(h)%case 'depths'%	h = findobj('Type', 'line', 'Tag', 'griddepths');%	showhide(h)%case 'mask'%	h = findobj('Type', 'line', 'Tag', 'landmask');%	showhide(h)%case 'coastlinefile'%	[theFile, thePath] = uigetfile('*.*', 'Select a Coastline File:');%	if ~any(theFile), return, end%	if thePath(end) ~= filesep, thePath = [thePath filesep]; end%	theCoastlineFile = [thePath theFile];%	psset(self, 'itsCoastlineFile', theCoastlineFile)%	getcoastline(self)%	doticks(self)%case 'bathymetryfile'%	[theFile, thePath] = uigetfile('*.*', 'Select a Bathymetry File:');%	if ~any(theFile), return, end%	if thePath(end) ~= filesep, thePath = [thePath filesep]; end%	theBathymetryFile = [thePath theFile];%	psset(self, 'itsBathymetryFile', theBathymetryFile)%	getbathymetry(self)%case 'seagridfile'%	[theFile, thePath] = uigetfile('*.mat', 'Select SeaGrid Input:');%	if ~any(theFile), return, end%	if thePath(end) ~= filesep, thePath = [thePath filesep]; end%	theSeaGridInputFile = [thePath theFile];%	psset(self, 'itsSeaGridInputFile', theSeaGridInputFile)%	doload(self, theSeaGridInputFile)%	thePoints = psget(self, 'itsPoints');%	if length(thePoints) >= 4%		set(gca, 'ButtonDownFcn', '', 'UserData', [])%	end%case 'boundaryfile'%	self = loadboundary(self, theMessage);%case 'boundaryfile_XXX'%	[theFile, thePath] = uigetfile('*.*', 'Select a Boundary File:');%	if ~any(theFile), return, end%	if thePath(end) ~= filesep, thePath = [thePath filesep]; end%	theBoundaryFile = [thePath theFile];%	psset(self, 'itsBoundaryFile', theBoundaryFile)%	thePoints = load(theBoundaryFile);%	psset(self, 'itsPoints', thePoints)%	doupdate(self, 1)%case 'ecomoutput_XXX'%	if (0)%		[theFile, thePath] = uiputfile('ecom.out', 'Save As Ecom File:');%		if ~any(theFile), return, end%		if thePath(end) ~= filesep, thePath = [thePath filesep]; end%		theEcomFile = [thePath theFile];%		psset(self, 'itsEcomFile', theEcomFile)%	end%case 'scrumoutput_XXX'%	if (0)%		[theFile, thePath] = uiputfile('scrum.out', 'Save As Scrum File:');%		if ~any(theFile), return, end%		if thePath(end) ~= filesep, thePath = [thePath filesep]; end%		theScrumFile = [thePath theFile];%		psset(self, 'itsScrumFile', theScrumFile)%	end%case 'save'%	theSeaGridOutputFile = psget(self, 'itsSeaGridOutputFile');%	dosave(self, theSeaGridOutputFile)%case 'saveas'%	dosave(self)%case 'saveasjpeg'%	figure(ps(self))%	fig2jpeg%case 'reverttosaved'%	theSeaGridOutputFile = psget(self, 'itsSeaGridOutputFile');%	doload(self, theSeaGridOutputFile)%	%case 'controlpoints'   % Show control-points.%	h = psget(self, 'itsSpacers');%	set([h{1} h{2}], 'Visible', 'off')%	h = psget(self, 'itsPoints');%	set(h, 'Visible', 'on')%	psset(self, 'itsPointFlag', 1)%	psset(self, 'itsSpacerFlag', 0)%	h = findobj('Type', 'line', 'Tag', 'edge');%%	theButtonDownFcn = 'psevent(ps(theFigure), ''down'')';%	theButtonDownFcn = 'psevent down';%	if any(h), set(h, 'ButtonDownFcn', theButtonDownFcn), end%	%case 'spacers'   % Show spacers.%	h = psget(self, 'itsPoints');%	set(h, 'Visible', 'off')%	h = psget(self, 'itsSpacers');%	h = [h{1}(2:end-1) h{2}(2:end-1)];   % Ends not visible.%	set(h, 'Visible', 'on')%	psset(self, 'itsPointFlag', 0)%	psset(self, 'itsSpacerFlag', 1)%	h = findobj('Type', 'line', 'Tag', 'edge');%	theButtonDownFcn = '';%	if any(h), set(h, 'ButtonDownFcn', theButtonDownFcn), end%case 'spacercount'   % Enter spacer counts.%	getspacers(self);%case 'spacingsetup'   % Enter spacing functions.%	getspacings(self);%	%case 'orthogonality'%	theOrthogonalityFlag = psget(self, 'itsOrthogonalityFlag');%	if isempty(theOrthogonalityFlag), theOrthogonalityFlag = 0; end%	switch theOrthogonalityFlag%	case 0%		theOrthogonalityFlag = 1;%		set(gcbo, 'Checked', 'on')%	otherwise%		theOrthogonalityFlag = 0;%		set(gcbo, 'Checked', 'off')%	end%	psset(self, 'itsOrthogonalityFlag', theOrthogonalityFlag)%	doupdate(self)%	%case 'coriolis-XXX'%	disp([' ## ' theCommand ' ' theMessage])%case 'roll'%	doroll(self)%case 'axesequal'%	axis equal%case 'margin'%	zoomsafe(0.9)%case 'graticule'%	switch psget(self, 'itsGraticule')%	case 'on'%		psset(self, 'itsGraticule', 'off')%		set(gcbo, 'Checked', 'off')%	case 'off'%		psset(self, 'itsGraticule', 'on')%		set(gcbo, 'Checked', 'on')%	otherwise%	end%	dograticule(self)%case 'menubar'%	switch get(theFigure, 'MenuBar')%	case 'figure'%		set(theFigure, 'MenuBar', 'none')%	otherwise%		set(theFigure, 'MenuBar', 'figure')%	end%case 'zoomin'%	dograticule(self, 'off')%	zoomsafe(2)%	doticks(self)%case 'zoomout'%	dograticule(self, 'off')%	zoomsafe(0.5)%	doticks(self)%case 'nozoom'%	dograticule(self, 'off')%	zoomsafe out%	doticks(self)%case 'flat'%	shading flat%	refresh%case 'interp'%	shading interp%case 'print'%	printsafe(gcf, '-v')%case 'deg'%	psset(self, 'itsInputUnits', 'degrees')%	doticks(self)%case 'km'%	psset(self, 'itsInputUnits', 'kilometers')%	doticks(self)%case 'proj'%	psset(self, 'itsInputUnits', 'projected')%	doticks(self)%case 'degrees'%	psset(self, 'itsMapUnits', 'degrees')%	doticks(self)%case 'kilometers'%	psset(self, 'itsMapUnits', 'kilometers')%	doticks(self)%case 'projected'%	psset(self, 'itsMapUnits', 'projected')%	doticks(self)%case 'showdetails'%	assignin('base', 'ans', self)%	evalin('base', 'ans')%case 'verbose'%	switch get(gcbo, 'Checked')%	case 'on'%		verbose(self, ~~0)%		set(gcbo, 'Checked', 'off')%	otherwise%		verbose(self, ~~1)%		set(gcbo, 'Checked', 'on')%	end%case 'refreshscreen'%	refresh(ps(self))%case 'update'%	doupdate(self, 1)%case 'resizefcn'%	doticks(self)%case {'closerequestfcn', 'quit'}%	doquit(self)%otherwise%	doevent(super(self), theCommand, theMessage)   % Very important.%endfclose(fout);disp(' ## Installing: "dograticule.m" (text)')fout = fopen('dograticule.m', 'w');%function theResult = dograticule(self, isVisible)%%% dograticule -- Redraw geographic graticule in SeaGrid.%%  dograticule(self) redraws the map graticule in the%%   SeaGrid window represented by self, a "seagrid" object.%%  domgraticule(self, 'isVisible') shows the map grid%%   if 'isVisible' = 'on'.% %% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 06-Jan-2000 14:14:03.%% Updated    19-Mar-2002 15:28:26.%%theFigure = ps(self);%%f = findobj(theFigure, 'Type', 'line', 'Tag', 'graticule');%if any(f), delete(f), end%%if nargin < 2%	isVisible = psget(self, 'itsGraticule');%end%%switch switchsafe(isVisible)%case 'on'%%	x = get(gca, 'XTick');%	y = get(gca, 'YTick');%	xlim = get(gca, 'XLim');%	ylim = get(gca, 'YLim');%	%	x = [xlim(1) x xlim(2)];%	y = [ylim(1) y ylim(2)];%	%	[lon, ignore] = sg_xy2ll(x, min(ylim)*ones(size(x)));%	[ignore, lat] = sg_xy2ll(min(xlim)*ones(size(y)), y);%	%	lon = interp1(linspace(0, 1, length(lon)), lon, ...%					linspace(0, 1, 2*length(lon)-1));%	%	lat = interp1(linspace(0, 1, length(lat)), lat, ...%					linspace(0, 1, 2*length(lat)-1));%	%	[lon, lat] = meshgrid(lon, lat);%	%	[x, y] = sg_ll2xy(lon, lat);%	%	hold on%	for i = 1:2%		plot(x(:, 3:2:end-2), y(:, 3:2:end-2), 'b:', ...%			'EraseMode', 'xor', 'Tag', 'graticule')%		if i == 1, x = x.'; y = y.'; end%	end%	hold off%	%case 'off'%otherwise%endfclose(fout);disp(' ## Installing: "dogrid.m" (text)')fout = fopen('dogrid.m', 'w');%function theResult = dogrid(self, needsUpdate)%%% seagrid/dogrid -- Compute the orthogonal grid.%%  dogrid(self, needsUpdate) computes and draws%%   the curvilinear orthogonal grid, using the%%   control-points of self, a "seagrid" object.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 15-Apr-1999 08:56:48.%% Updated    21-Sep-2000 15:03:33.%%if nargout > 0, theResult = self; end%%if nargin < 1, help(mfilename), return, end%if nargin < 2, needsUpdate = psget(self, 'itNeedsUpdate'); end%%if nargout > 0, theResult = self; end%%theEraseMode = psget(self, 'itsEraseMode');%theGridSize = psget(self, 'itsGridSize');%theSpacings = psget(self, 'itsSpacings');%%u = []; v = [];%uu = []; vv = [];%%theGrids = psget(self, 'itsGrids');%if ~isempty(theGrids)%	u = theGrids{1}; v = theGrids{2};%end%%theSpacedGrids = psget(self, 'itsSpacedGrids');%if ~isempty(theSpacedGrids)%	uu = theSpacedGrids{1}; vv = theSpacedGrids{2};%end%%theInterpFcn = psget(self, 'itsInterpFcn');%theInterpMethod = psget(self, 'itsInterpMethod');%%c = computer;%isMac = isequal(lower(c(1:3)), 'mac');%doUseMexFile = psget(self, 'itUsesMexFile');%doUseMexFile = (doUseMexFile & ~isMac);%%if isempty(u), needsUpdate = 1; end%	%if needsUpdate%	%	busy%	%	if isunix%		shouldAlert = (prod(theGridSize) > 10000);%	else%		shouldAlert = (prod(theGridSize) > 1000);%	end%	if shouldAlert%		h = warndlg('Please wait ...', 'Computing Grid');%		drawnow%	end%	%	gridcalc(self)   % <== Calculate grid.%	%	if shouldAlert & ishandle(h), delete(h), end%	%	idle%end%%theGrids = psget(self, 'itsGrids');%%if ~isempty(theGrids)%	u = theGrids{1}; v = theGrids{2};%end%%theSpacedEdges = psget(self, 'itsSpacedEdges');%if isempty(theSpacedEdges)%	theSpacedEdges = [1 2];%	psset(self, 'itsSpacedEdges', theSpacedEdges)%end%%if isempty(u)%	psset(self, 'itsGrids', [])%	h = warndlg('Please rearrange control-points.', 'Bad Shape');%	pause(2)%	if ishandle(h), delete(h), end%	if nargout > 0, theResult = self; end%	return%end%%% Apply spacings for the plotted grid.%%  The spacings are the relative tic-locations%%  [0:1] on the computed grid where we want to%%  interpolate and show grid lines.  The spacings%%  are defined by the positions of the spacers%%  in the "seagrid" window.%%uu = u;%vv = v;%[m, n] = size(u);%%% Interpolate to even-spacing along the%%  curved paths of the two reference sides.%%  N.B. -- Needs to be changed to "spline"%%  interpolation.%%if ~doUseMexFile%%	sm = linspace(0, 1, m);%	sn = linspace(0, 1, n);%%	if ~isempty(u) & 1%		zz = uu + sqrt(-1)*vv;%		switch theSpacedEdges(1)%		case 1%			s1 = rescale([0; cumsum(abs(diff(zz(:, 1))))]);%		case 3%			s1 = rescale([0; cumsum(abs(diff(zz(:, end))))]);%			s1 = 1 - s1(end:-1:1);%		end%		switch theSpacedEdges(2)%		case 2%			s2 = rescale([0 cumsum(abs(diff(zz(end, :))))]).';%		case 4%			s2 = rescale([0 cumsum(abs(diff(zz(1, :))))]).';%			s2 = 1 - s2(end:-1:1);%		end%		uu = feval(theInterpFcn, s1, uu, sm, theInterpMethod).';   % Down.%		vv = feval(theInterpFcn, s1, vv, sm, theInterpMethod).';%		uu = feval(theInterpFcn, s2, uu, sn, theInterpMethod).';   % Across.%		vv = feval(theInterpFcn, s2, vv, sn, theInterpMethod).';%	end%%% Interpolate to manually-adjusted spacings.%%	if ~isempty(u) & 1%		if isempty(theSpacings)%			theSpacings = {sm, sn};   % <== Note.%		end%		s1 = rescale(theSpacings{1});%		s2 = rescale(theSpacings{2});%		if theSpacedEdges(1) == 3%			s1 = 1 - s1(end:-1:1);%		end%		if theSpacedEdges(2) == 4%			s2 = 1 - s2(end:-1:1);%		end%		ss1 = linspace(0, 1, length(s1));%		ss2 = linspace(0, 1, length(s2));%		s1 = feval(theInterpFcn, ss1, s1, sm, theInterpMethod);%		s2 = feval(theInterpFcn, ss2, s2, sn, theInterpMethod);%		theSpacings = {s1, s2};   % <== Note.%		uu = feval(theInterpFcn, sm, uu, s1, theInterpMethod).';   % Down.%		vv = feval(theInterpFcn, sm, vv, s1, theInterpMethod).';%		uu = feval(theInterpFcn, sn, uu, s2, theInterpMethod).';   % Across.%		vv = feval(theInterpFcn, sn, vv, s2, theInterpMethod).';%	end%%end%%psset(self, 'itsSpacedGrids', {uu vv})%% psset(self, 'itsSpacings', {theSpacings})   % <== Note.%%% Plot the grid.%%if ~isempty(uu)%	[m, n] = size(uu);%	u1 = uu(:, 2:end-1); v1 = vv(:, 2:end-1);%	u2 = uu(2:end-1, :).'; v2 = vv(2:end-1, :).';%	hold on%	oldGridLines = findobj('Type', 'line', 'Tag', 'grid-line');%	if any(oldGridLines), delete(oldGridLines), end%	theGridLines{1} = plot(u1, v1, 'g-', ...%			'EraseMode', theEraseMode, 'Tag', 'grid-line');%	theGridLines{2} = plot(u2, v2, 'g-', ...%			'EraseMode', theEraseMode, 'Tag', 'grid-line');%	hold off%end%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "dohelp.m" (text)')fout = fopen('dohelp.m', 'w');%function theResult = dohelp(self)%%% dohelp -- Show SeaGrid help dialog.%%  dohelp(self) displays the "help" dialog%%   for self, a "seagrid" object.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 20-Dec-1999 14:29:59.%% Updated    10-Jan-2000 18:04:11.%%theClass = class(self);%theMethods = sort(methods(theClass));%%for i = length(theMethods):-1:1%	theName = theMethods{i};%	if ~any(findstr(theMethods{i}, 'help_'))%		theMethods(i) = [];%	end%end%%theHelp = theMethods;%%if (0)%	%	s = [];%	t = [];%	i = 0;%	while i < length(theHelp)/2-1%		i = i+1;%		s = setfield(s, theHelp{i}, help(theHelp{i}));%	end%	while i < length(theHelp)%		i = i+1;%		t = setfield(t, theHelp{i}, help(theHelp{i}));%	end%	s.More_Topics = t;%%else%	%	s = [];%	i = 0;%	k = 0;%	while i < length(theHelp)%		k = k+1;%		s{k} = [];%		j = 0;%		while j < 10 & i < length(theHelp)%			i = i+1;%			j = j+1;%			s{k} = setfield(s{k}, theHelp{i}, help(theHelp{i}));%		end%	end%	for k = length(s)-1:-1:1%		s{k} = setfield(s{k}, ['More_Topics_' int2str(k)], s{k+1});%	end%	s = s{1};%%end%%temp = get(0, 'DefaultFigureCreateFcn');%set(0, 'DefaultFigureCreateFcn', '')%%result = guido(s, 'SeaGrid Help');%%set(0, 'DefaultFigureCreateFcn', temp)%%if nargout > 0%	theResult = result;%endfclose(fout);disp(' ## Installing: "doinitialize.m" (text)')fout = fopen('doinitialize.m', 'w');%function theResult = doinitialize(self, varargin)%%% seagrid/doinitialize -- Initialization of "seagrid".%%  doinitialize(self, ...) initializes self, a "seagrid" object,%%   with the name/value pairs given in the argument-list.%%%% (Presto-compatible)% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Apr-1999 15:47:38.%% Updated    03-Jun-1999 17:24:28.%%if nargin < 1, help(mfilename), return, end%%theMenus = doaddmenus(self);%%for i = 2:2:length(varargin)%	self = psset(self, varargin{i-1}, varargin{i});%end%%theProjection = psget(self, 'itsProjection');%sg_proj(theProjection)%%getboundary(self)%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "doload.m" (text)')fout = fopen('doload.m', 'w');%function theResult = doload(self, theFilename)%%% seagrid/doload -- Load a grid.%%  doload(self, 'theFilename') loads the grid and other%%   information associated with self, a "seagrid" object,%%   from 'theFilename'.  The "uigetfile" dialog is invoked%%   if an empty or wildcarded name is provided.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 13-May-1999 15:58:14.%% Updated    02-Nov-2001 16:14:59.%%if nargout > 0, theResult = []; end%if nargin < 1, help(mfilename), return, end%if nargin < 2, theFilename = ''; end%%if nargout > 0, theResult = self; end%%if isempty(theFilename), theFilename = '*.mat'; end%%if any(theFilename == '*')%	[theFile, thePath] = uigetfile(theFilename, 'Select SeaGrid File:');%	if ~any(theFile), return, end%	if thePath(end) ~= filesep, thePath(end+1) = filesep; end%	theFilename = [thePath theFile];%end%%loaded = load(theFilename);%if ~isfield(loaded, 's'), return, end%%theMaskToolFlag = psget(self, 'itsMaskToolFlag');%theMaskTool = psget(self, 'itsMaskTool');%if any(theMaskTool)%	domasktool(self)   % Turn it off.%end%%s = loaded.s;%%psset(self, 'itsSeaGridOutputFile', theFilename)%psset(self, 'itsProjection', s.projection)%psset(self, 'itsProjectionCenter', s.projection_center)%psset(self, 'itsLongitudeBounds', s.longitude_bounds)%psset(self, 'itsLatitudeBounds', s.latitude_bounds)%psset(self, 'itsCoastlineFile', s.coastline)%psset(self, 'itsBathymetryFile', s.bathymetry)%psset(self, 'itsPoints', s.points)%psset(self, 'itsEndSlopeFlag', s.end_slope_flag)%psset(self, 'itsGridSize', s.grid_size)%psset(self, 'itsGrids', s.grids)%psset(self, 'itsSpacings', s.spacings)%psset(self, 'itsDefaultSpacings', s.default_spacings)%psset(self, 'itsSpacedEdges', s.spaced_edges)%psset(self, 'itsSpacedGrids', s.spaced_grids)%psset(self, 'itsGriddedBathymetry', -s.gridded_bathymetry)%psset(self, 'itsClippingDepths', s.clipping_depths)%psset(self, 'itsMask', s.mask)%psset(self, 'itsWater', s.water)%psset(self, 'itsLand', s.land)%%sg_proj(s.projection)%%if (0), psset(self, 'itsGridSize', s.grid_size/2), end   % No longer.%%getboundary(self, 'clear')%%% dogrid(self, 1)%%% If alive, the masktool will be turned back on during update.%%  But, unfortunately, we will lose the loaded masked-depths.%%  We need a different protocol for loading, which simply%%  writes the loaded values into their appropriate graphics,%%  rather than recalculating first.  That is, we do not%%  want to call "doupdate" here, but rather use a modified%%  version of the "doupdate" scheme for this special purpose.%%doupdate(self, 1)%%getcoastline(self)%getbathymetry(self)%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "domask.m" (text)')fout = fopen('domask.m', 'w');%function theResult = domask(self, needsUpdate)%%% seagrid/domask -- Compute the "seagrid" mask.%%  domask(self) computes the mask for self,%%   a "seagrid" object.  Non-zero mask-values%%   denote land; zeros denotes water.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 10-May-1999 09:40:20.%% Updated    14-Nov-2000 11:24:14.%%if nargout > 0, theResult = self; end%if nargin < 1, help(mfilename), return, end%if nargin < 2, needsUpdate = psget(self, 'itsNeedsUpdate'); end%%theGridSize = psget(self, 'itsGridSize');%%theCoastline = findobj(gcf, 'Tag', 'coastline');%if isempty(theCoastline), return, end%cx = get(theCoastline, 'XData');%cy = get(theCoastline, 'YData');%%theSpacedGrids = psget(self, 'itsSpacedGrids');%u = theSpacedGrids{1};%v = theSpacedGrids{2};%u = interp2(u, 1);%v = interp2(v, 1);%utemp = u(2:2:end-1, 2:2:end-1);  % Grid-centers.%vtemp = v(2:2:end-1, 2:2:end-1);%%useMexFile = psget(self, 'itUsesMexFile');%%hasMex = (exist('mexinside', 'file') == 3);%theFcn = 'insidesafe';%if hasMex & useMexFile, theFcn = 'mexinside'; end%%if needsUpdate%	busy%	f = find(~isfinite(cx) | ~isfinite(cy));%	f = f(:).';%	if ~any(f), f = [0 length(cx)+1]; end%	if f(1) ~= 1, f = [0 f]; end%	if f(end) ~= length(cx), f(end+1) = length(cx)+1; end%	if isunix%		shouldAlert = (prod(theGridSize) > 1000);%	else%		shouldAlert = (prod(theGridSize) > 100);%	end%	if shouldAlert%		h = warndlg('Please wait ...', 'Computing Mask');%		drawnow%	end%	theMask = zeros(size(utemp));%	for i = 2:length(f)%		g = find(theMask == 0);%		if ~any(g), break, end%		j = f(i-1)+1:f(i)-1;%		if length(j) > 2%			theMask(g) = feval(theFcn, utemp(g), vtemp(g), cx(j), cy(j));%		end%	end%	if shouldAlert & ishandle(h), delete(h), end%	%	theLand = ~~theMask;%	theWater = ~theLand;%	%	psset(self, 'itsMask', theMask)%	psset(self, 'itsWater', theWater)%	psset(self, 'itsLand', theLand)%	idle%else%	theMask = psget(self, 'itsMask');%end%%theFigure = ps(self);%setsafe(0, 'CurrentFigure', theFigure)%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "domasktool.m" (text)')fout = fopen('domasktool.m', 'w');%function theResult = domasktool(self)%%% seagrid/domasktool -- Draw the mask editing tool.%%  domasktool(self) draws the mask editing tool for self,%%   a "seagrid" object, superimposed on the current grid.%%   Boundary modification is suspended while the mask%%   editing tool is alive.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 15-Jun-1999 11:12:13.%% Updated    24-Oct-2001 14:13:38.%%if nargout > 0, theResult = []; end%if nargin < 1, help(mfilename), return, end%%theBathymetryFlag = psget(self, 'itsBathymetryFlag');%theMaskingFlag = psget(self, 'itsMaskingFlag');%theMaskTool = psget(self, 'itsMaskTool');%%if ~any(theMaskTool)%	%	busy%	%	g = psget(self, 'itsSpacedGrids');%	x = g{1};%	y = g{2};%	%	theMask = psget(self, 'itsLand');%%% Resize the mask, if needed.%%	if ~isequal(size(theMask), size(x)-1)%		if isempty(theMask) | 1%			theMask = zeros(size(x)-1);%		else%			tic%			h = helpdlg('New grid size; Mask is now interpolated.', 'Please Note');%			drawnow%			theInterpFcn = psget(self, 'itsInterpFcn');%			theInterpMethod = psget(self, 'itsInterpMethod');%			before = size(theMask);%			after = size(x)-1;%			theMaskRange = [min(theMask(:)) max(theMask(:))];%			for i = 1:2%				count = before(i);%				bef = linspace(0, 1, count);%				bef = linspace(1/count, 1-1/count, count);%				count = after(i);%				aft = linspace(0, 1, count);%				aft = linspace(1/count, 1-1/count, count);%				theMask = feval(theInterpFcn, ...%						bef, theMask, ...%						aft, theInterpMethod).';%			end%			theMask = theMask > mean(theMaskRange);%			while ishandle(h) & toc < 3%				drawnow%			end%			delete(h)%		end%		theLand = ~~theMask;%		theWater = ~theLand;%		psset(self, 'itsMask', theWater)%		psset(self, 'itsWater', theWater)%		psset(self, 'itsLand', theLand)%	end%%	theMask(end+1, end+1) = 0;%	%	z = [];%	c = [];%	%	bathy = psget(self, 'itsGriddedBathymetry');%	%	if theBathymetryFlag & ~isempty(bathy)%		bathy(end+1, :) = bathy(end, :);%		bathy(:, end+1) = bathy(:, end);%		z = bathy;%		if (0)%			theMask(isnan(z)) = 1;   % Mask the NaN depths.%		else%			z(isnan(z)) = 0;   % Set NaNs to zero depth.%		end%	end%	%	result = grid2mask(x, y, z, c, theMask);%	%	theAxes = get(result, 'Parent');%	set(theAxes, 'CLim', [-1 2])   % Why do this?%	f = findobj('Type', 'surface', 'Tag', 'grid2mask');%	theEraseMode = psget(self, 'itsEraseMode');%	if isempty(theEraseMode), theEraseMode = 'xor'; end%	set(f, 'ButtonDownFcn', 'psevent ButtonDownFcn', ...)%					'Tag', 'masktool', 'EraseMode', theEraseMode);%	%	h = get(result, 'UserData');%	set(h.strips, 'Tag', 'masktool')%	set(h.edit, 'Tag', 'masktool')%	%	theMaskTool = result;%	psset(self, 'itsMaskTool', theMaskTool)%	%	set(gcf, 'Pointer', 'crosshair')%%else%	%	busy%	f = psget(self, 'itsMaskTool');%	if (0)   % Obsolete.%		h = get(f, 'UserData');%		theMask = zeros(size(h));%		[m, n] = size(theMask);%		for j = 1:n%			for i = 1:m%				switch get(h(i, j), 'Selected');%				case 'on'%					theMask(i, j) = 1;%				otherwise%				end%			end%		end%	end%	%	theMask = grid2mask('done');%	theMask = theMask(1:end-1, 1:end-1);%	%	theLand = ~~theMask;%	theWater = ~theLand;%	%	psset(self, 'itsMask', theMask)%	psset(self, 'itsWater', theWater)%	psset(self, 'itsLand', theLand)%	%	psset(self, 'itsMaskTool', [])%	refresh%	idle%%end%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "doorthogonality.m" (text)')fout = fopen('doorthogonality.m', 'w');%function theResult = doorthogonality(self)%%% seagrid/doorthogonality -- Compute/show orthogonality.%%  doorthogonality(self) computes and displays the orthogonality%%   of the grid generated by self, a "seagrid" object.  The%%   associated colorbar shows the orthogonality error in degrees.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 19-May-1999 10:26:06.%% Updated    11-Feb-2000 16:48:03.%%if nargout > 0, theResult = []; end%%if nargin < 1, help(mfilename), return, end%%if nargout > 0, theResult = self; end%%h = findobj('Type', 'surface', 'Tag', 'orthogonality');%if any(h), delete(h), end%%delete(colorbar)%setsafe(gca, 'CLimMode', 'auto')%%theSpacedGrids = psget(self, 'itsSpacedGrids');%if isempty(theSpacedGrids), return, end%%u = theSpacedGrids{1};%v = theSpacedGrids{2};%if isempty(u), return, end%%z = u + sqrt(-1)*v;%result = zeros(size(z));%%% Store the maximum deviation from a right-angle%%  for each grid-crossing.  The graph shows best%%  with 'shading interp', but "xor" erase-mode%%  is not allowed there.%%for i = 1:4%	du = diff(z); du = du ./ abs(du);%	dv = diff(z.').'; dv = dv ./ abs(dv);%	ddu = du(:, 1:end-1);%	ddv = dv(1:end-1, :);%	ang = acos(real(ddu).*real(ddv) + imag(ddu).*imag(ddv));%	result(1:end-1, 1:end-1) = max(result(1:end-1, 1:end-1), ang);%	z = flipud(z.');%	result = flipud(result.');%end%%result = 180 * abs(result - pi/2) / pi;   % Error from 90 degrees.%%edgeExemption = 1;   % Are edges exempt?%%if edgeExemption%	result([1 end], :) = 0;%	result(:, [1 end]) = 0;%end%%result([1 end], [1 end]) = 0;%%if (0)%	angular_error_range = [min(result(:)) max(result(:))]%end%%hold on%%theEraseMode = psget(self, 'itsEraseMode');%theEraseMode = 'normal';%%theGridLineColor = psget(self, 'itsGridLineColor');%theFaceColor = 'interp';%theTag = psget(self, 'itsOrthogonalityTag');%%h = surf(u, v, result);%set(h, 'EraseMode', theEraseMode, ...%			'FaceColor', theFaceColor, ...%			'EdgeColor', theGridLineColor, ...%			'Tag', theTag)%%hold off%%h = colorbar;%lab = get(h, 'Ylabel');%set(get(h, 'Ylabel'), 'String', 'Orthogonality Error (degrees)')%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "dopoints.m" (text)')fout = fopen('dopoints.m', 'w');%function theResult = dopoints(self)%%% seagrid/dopoints -- Compute and draw points.%%  dopoints(self) draws the points associated%%   with self, a "seagrid" object.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 21-Apr-1999 09:03:33.%% Updated    28-Aug-2000 15:00:03.%%if nargout > 0, theResult = self; end%if nargin < 1, help(mfilename), return, end%%% Initialize.%%thePoints = psget(self, 'itsPoints');%%if length(thePoints)  < 4, return, end%%x = zeros(size(thePoints));%y = zeros(size(thePoints));%theTags = cell(size(thePoints));%theCornerTag = psget(self, 'itsCornerTag');%theEdgePointTag = psget(self, 'itsEdgePointTag');%theCorners = [];   % Corner indices.%theEraseMode = psget(self, 'itsEraseMode');%theButtonDownFcn = 'psevent down';%%thePointFlag = psget(self, 'itsPointFlag');%%theCornerColor = psget(self, 'itsCornerColor');%theCornerMarker = psget(self, 'itsCornerMarker');%theEdgeColor = psget(self, 'itsEdgeColor');%theEdgeMarker = psget(self, 'itsEdgeMarker');%%theMarkerSize = get(0, 'DefaultLineMarkerSize');%theMarkerSize = 15;%theMarkerSize = 9;%%% Get the xy data and corner-point indices.%%[m, n] = size(thePoints);%if min(size(thePoints)) == 1%	for k = 1:length(thePoints)%		x(k) = get(thePoints(k), 'XData');%		y(k) = get(thePoints(k), 'YData');%		theTags{k} = get(thePoints(k), 'Tag');%		switch theTags{k}%		case 'corner-point'%			theCorners = [theCorners k];   % #1 is always a theCorners-point.%		otherwise%		end%	end%else%	x = thePoints(:, 1); x = x(:).';%	y = thePoints(:, 2); y = y(:).';%	t = thePoints(:, 3); t = t(:).';%	theCorners = find(t);%	theTags = cell(size(t));%	for k = 1:length(t)%		switch t(k)%		case 0%			theTags{k} = theEdgePointTag;%		otherwise%			theTags{k} = theCornerTag;%		end%	end%	thePoints = zeros(size(x));%end%%delete(findobj('Type', 'line', 'Tag', theEdgePointTag))%delete(findobj('Type', 'line', 'Tag', theCornerTag))%%% Delete old points.  We need to recreate the points%%  to keep the screen from flashing, which would occur%%  if we were to use "bringtofront" instead.%%% Draw new points.%%thePoints = zeros(1, length(x));%for k = 1:length(x)%	hold on%	thePoints(k) = plot(x(k), y(k), 'EraseMode', theEraseMode);%	hold off%	theColor = theEdgeColor;%	theMarker = theEdgeMarker;%	if any(k == theCorners)%		theColor = theCornerColor;%		theMarker = theCornerMarker;%		if k == 1, theMarker = '*'; end%	end%	set(thePoints(k), 'Marker', theMarker, ...%			'Color', theColor, ...%			'Tag', theTags{k})%end%	%set(thePoints(theCorners), 'MarkerFaceColor', theColor)%		%psset(self, 'itsPoints', thePoints)%%switch thePointFlag%case 0%	theVisible = 'off';%otherwise%	theVisible = 'on';%end%%set(thePoints, 'ButtonDownFcn', theButtonDownFcn, ...%				'LineStyle', 'none', 'MarkerSize', theMarkerSize, ...%				'UserData', thePoints, 'Visible', theVisible)%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "doreproject.m" (text)')fout = fopen('doreproject.m', 'w');%function theResult = doreproject(self)%%% seagrid/doreproject -- Re-project the SeaGrid map.%%  doreproject(self) re-projects the SeaGrid map from%%   the current projection to the new projection of%%   record.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 28-Dec-1999 17:03:30.%% Updated    28-Dec-1999 17:03:30.%%if nargout > 0, theResult = self; end%%theProjection = psget(self, 'itsProjection');%theProjectionCenter = psget(self, 'itsProjectionCenter');%%theNewProjection = psget(self, 'itsNewProjection');%theNewProjectionCenter = psget(self, 'itsNewProjectionCenter');%%if isequal(theProjection, theNewProjection) & ...%	isequal(theProjectionCenter, theNewProjectionCenter)%	return%end%%theFigure = ps(self);%figure(theFigure)%h = get(gca, 'Children');%%for i = 1:length(h)%	switch get(h(i), 'Type')%	case {'line', 'patch', 'surface'}%		x = get(h(i), 'XData');%		y = get(h(i), 'YData');%		sg_proj(theProjection, theProjectionCenter)%		[lon, lat] = sg_xy2ll(x, y);%		sg_proj(theNewProjection, theNewProjectionCenter)%		[x, y] = sg_ll2xy(lon, lat);%		set(h(i), 'XData', x, 'YData', y)%	otherwise%	end%end%%psset(self, 'itsProjection', theNewProjection)%psset(self, 'itsProjectionCenter', theNewProjectionCenter)%%psset(self, 'itsOldProjection', [])%psset(self, 'itsOldProjectionCenter', [])%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "doroll.m" (text)')fout = fopen('doroll.m', 'w');%function theResult = doroll(self)%%% seagrid/doroll -- Roll the main corner.%%  doroll(self) rolls the main grid corner counter-%%   clockwise, on behalf of self, a "seagrid" object.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 26-Apr-1999 10:29:08.%% Updated    21-Sep-2000 15:05:25.%%if nargout > 0, theResult = self; end%if nargin < 1, help(mfilename), return, end%%thePoints = psget(self, 'itsPoints');%theCorners = [];%theCornerTag = psget(self, 'itsCornerTag');%for i = 1:length(thePoints)%	theTag = get(thePoints(i), 'Tag');%	if isequal(theTag, theCornerTag)%		theCorners = [theCorners i];%	end%end%i = [theCorners(2):length(thePoints) theCorners(1):theCorners(2)-1];%thePoints = thePoints(i);%psset(self, 'itsPoints', thePoints)%theGridSize = psget(self, 'itsGridSize');%psset(self, 'itsGridSize', theGridSize([2 1]))%%theSpacings = psget(self, 'itsSpacings');%u = theSpacings{1}; u = 1 - u(end:-1:1);%v = theSpacings{2};%psset(self, 'itsSpacings', {v u})%theGrids = psget(self, 'itsGrids');%u = theGrids{1}; u = flipud(fliplr(u.'));%v = theGrids{2}; v = flipud(fliplr(v.'));%psset(self, 'itsGrids', {u v})%%doupdate(self, 1)%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "dosave.m" (text)')fout = fopen('dosave.m', 'w');%function theResult = dosave(self, theFilename)%%% seagrid/dosave -- Save a grid.%%  dosave(self, 'theFilename') saves the grid and other%%   information associated with self, a "seagrid" object,%%   to 'theFilename'.  The "uiputfile" dialog is invoked%%   if an empty or wildcarded name is provided.  A grid%%   if size M-by-N contains (M+1)-by-(N+1) points that%%   describe the cell corners.  The bathymetric and%%   masking points lie at the cell-centers, so their%%   dimension is M-by-N.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 13-May-1999 15:58:14.%% Updated    13-Nov-2002 15:18:54.%%RCF = 180 / pi;%%if nargout > 0, theResult = self; end%if nargin < 1, help(mfilename), return, end%if nargin < 2, theFilename = ''; end%%if nargout > 0, theResult = self; end%%if isempty(theFilename), theFilename = '*.mat'; end%%if any(theFilename == '*')%	theSuggested = 'seagrid.mat';%	[theFile, thePath] = uiputfile(theSuggested, 'Save As SeaGrid File:');%	if ~any(theFile), return, end%	if thePath(end) ~= filesep, thePath(end+1) = filesep; end%	theFilename = [thePath theFile];%end%%psset(self, 'itsSeaGridOutputFile', theFilename)%%% Double the grid-size -- no longer.%%  We will let "seagrid2ecom" and other%%  utilities take care of this by simple%%  interpolation.%%if (0)%	theOldGridSize = psget(self, 'itsGridSize');%	theTempGridSize = 2*theOldGridSize;%	psset(self, 'itsGridSize', theTempGridSize);%	if (0)%		dospacings(self)%		dogrid(self, 1)%	else%		doupdate(self, 1)%	end%end%%% Turn masktool off.%%theMaskToolFlag = psget(self, 'itsMaskToolFlag');%theMaskTool = psget(self, 'itsMaskTool');%if any(theMaskTool)%	domasktool(self)   % Turn it off.%end%%s.created_on = datestr(now);%s.created_by = mfilename;%%s.projection = psget(self, 'itsProjection');%s.projection_center = psget(self, 'itsProjectionCenter');%s.longitude_bounds = psget(self, 'itsLongitudeBounds');%s.latitude_bounds = psget(self, 'itsLatitudeBounds');%%s.bathymetry = psget(self, 'itsBathymetryFile');%s.coastline = psget(self, 'itsCoastlineFile');%%theCornerTag = psget(self, 'itsCornerTag');%%h = psget(self, 'itsPoints');%x = zeros(size(h));%y = zeros(size(h));%t = zeros(size(h));%%for k = 1:length(h)%	x(k) = get(h(k), 'XData');%	y(k) = get(h(k), 'YData');%	if isequal(get(h(k), 'Tag'), theCornerTag)%		t(k) = 1;%	end%end%s.points = [x(:) y(:) t(:)];%%s.end_slope_flag = psget(self, 'itsEndSlopeFlag');%%theGridSize = psget(self, 'itsGridSize');%%s.grid_size = theGridSize;%%s.grids = psget(self, 'itsGrids');%%s.spacings = psget(self, 'itsSpacings');%s.default_spacings = psget(self, 'itsDefaultSpacings');%s.spaced_edges = psget(self, 'itsSpacedEdges');%s.spaced_grids = psget(self, 'itsSpacedGrids');%%u = s.spaced_grids{1}; v = s.spaced_grids{2};%sg_proj(s.projection)%[lon, lat] = sg_xy2ll(u, v);%s.geographic_grids = {lon, lat};%%b = -psget(self, 'itsGriddedBathymetry');   % Note negative.%c = psget(self, 'itsClippingDepths');%%s.gridded_bathymetry = b;%s.clipping_depths = c;%%if (0), b = b(2:2:end-1, 2:2:end-1); end   % No longer.%%b(b > c(2)) = c(2);%b(b < c(1)) = c(1);%%s.bottom = b;%s.top = zeros(size(b)) + c(1);%%dx = earthdist(lon(:, 2:end), lat(:, 2:end), ...%                lon(:, 1:end-1), lat(:, 1:end-1));%dy = earthdist(lon(2:end, :), lat(2:end, :), ...%                lon(1:end-1, :), lat(1:end-1, :));%%s.geometry = {dx, dy};%%% Grid-cell orientation, degrees counter-clockwise from%%  east, presently based on flat-earth approximation.%%%  We assume that the matrix rows run quasi-eastward%%  from left to right, achieved by starting the grid%%  in the quasi-northwest corner of the map.  That%%  is, the Matlab index (1, 1) is in the northwest,%%  and (m, 1) in the southwest.  When converting to%%  ROMS, we flip the indexing, so that (1, 1) lies%%  at the lower-left, with I = [1..M] running%%  left-to-right and J = [1..N] bottom-to-top.%%dlon = diff(lon.').';   % Matlab 6: diff(lon, 2)%dlat = diff(lat.').';   % Matlab 6: diff(lon, 2)%clat = cos(lat / RCF);%clat(:, end) = [];%s.orientation = atan2(dlat, dlon .* clat) * RCF;%%theMask = psget(self, 'itsMask');%theWater = psget(self, 'itsWater');%theLand = psget(self, 'itsLand');%% theMask = theMask(1:end-1, 1:end-1)%%s.mask = theMask;%s.water = theWater;%s.land = theLand;%%save(theFilename, 's')%%% Turn masktool on.%%if any(theMaskToolFlag)%	f = psget(self, 'itsPoints');%	if any(f), set(f, 'Visible', 'off'), end%	f = psget(self, 'itsEdges');%	if any(f), set(f, 'Visible', 'off'), end%	domasktool(self);   % Turn it on.%end%%% Revert to original grid-size -- not needed anymore.%%if (0)%	psset(self, 'itsGridSize', theOldGridSize);%	if (0)%		dospacings(self)%		dogrid(self, 1)%	else%		doupdate(self, 1)%	end%end%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "dosave2.m" (text)')fout = fopen('dosave2.m', 'w');%function theResult = dosave(self, theFilename)%%% seagrid/dosave -- Save a grid.%%  dosave(self, 'theFilename') saves the grid and other%%   information associated with self, a "seagrid" object,%%   to 'theFilename'.  The "uiputfile" dialog is invoked%%   if an empty or wildcarded name is provided.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 13-May-1999 15:58:14.%% Updated    28-Mar-2000 10:17:18.%%RCF = 180 / pi;%%if nargout > 0, theResult = self; end%if nargin < 1, help(mfilename), return, end%if nargin < 2, theFilename = ''; end%%if nargout > 0, theResult = self; end%%if isempty(theFilename), theFilename = '*.mat'; end%%if any(theFilename == '*')%	theSuggested = 'seagrid.mat';%	[theFile, thePath] = uiputfile(theSuggested, 'Save As SeaGrid File:');%	if ~any(theFile), return, end%	if thePath(end) ~= filesep, thePath(end+1) = filesep; end%	theFilename = [thePath theFile];%end%%psset(self, 'itsSeaGridOutputFile', theFilename)%%% Double the grid-size.%%if (1)%	theOldGridSize = psget(self, 'itsGridSize');%	theTempGridSize = 2*theOldGridSize;%	psset(self, 'itsGridSize', theTempGridSize);%	if (0)%		dospacings(self)%		dogrid(self, 1)%	else%		doupdate(self, 1)%	end%end%%s.created_on = datestr(now);%s.created_by = mfilename;%%s.projection = psget(self, 'itsProjection');%s.projection_center = psget(self, 'itsProjectionCenter');%s.longitude_bounds = psget(self, 'itsLongitudeBounds');%s.latitude_bounds = psget(self, 'itsLatitudeBounds');%%s.bathymetry = psget(self, 'itsBathymetryFile');%s.coastline = psget(self, 'itsCoastlineFile');%%theCornerTag = psget(self, 'itsCornerTag');%%h = psget(self, 'itsPoints');%x = zeros(size(h));%y = zeros(size(h));%t = zeros(size(h));%%for k = 1:length(h)%	x(k) = get(h(k), 'XData');%	y(k) = get(h(k), 'YData');%	if isequal(get(h(k), 'Tag'), theCornerTag)%		t(k) = 1;%	end%end%s.points = [x(:) y(:) t(:)];%%s.end_slope_flag = psget(self, 'itsEndSlopeFlag');%%theGridSize = psget(self, 'itsGridSize');%%s.grid_size = theGridSize;%%s.grids = psget(self, 'itsGrids');%%s.spacings = psget(self, 'itsSpacings');%s.default_spacings = psget(self, 'itsDefaultSpacings');%s.spaced_edges = psget(self, 'itsSpacedEdges');%s.spaced_grids = psget(self, 'itsSpacedGrids');%%u = s.spaced_grids{1}; v = s.spaced_grids{2};%sg_proj(s.projection)%[lon, lat] = sg_xy2ll(u, v);%s.geographic_grids = {lon, lat};%%b = -psget(self, 'itsGriddedBathymetry');   % Note negative.%c = psget(self, 'itsClippingDepths');%%s.gridded_bathymetry = b;%s.clipping_depths = c;%%b = b(2:2:end-1, 2:2:end-1);%b(b > c(2)) = c(2);%b(b < c(1)) = c(1);%%s.bottom = b;%s.top = zeros(size(b)) + c(1);%%dx = earthdist(lon(:, 2:end), lat(:, 2:end), lon(:, 1:end-1), lat(:, 1:end-1));%dy = earthdist(lon(2:end, :), lat(2:end, :), lon(1:end-1, :), lat(1:end-1, :));%%s.geometry = {dx, dy};%%% Grid-cell orientation counter-clockwise from east,%%  presently based on flat-earth approximation.%%dlon = diff(lon.').';%dlat = diff(lat.').';%clat = cos(lat / RCF);%clat(:, end) = [];%s.orientation = atan2(dlat, dlon .* clat) * RCF;%%s.mask = psget(self, 'itsMask');%%save(theFilename, 's')%%% Revert to original grid-size.%%if (1)%	psset(self, 'itsGridSize', theOldGridSize);%	if (0)%		dospacings(self)%		dogrid(self, 1)%	else%		doupdate(self, 1)%	end%end%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "dosetup.m" (text)')fout = fopen('dosetup.m', 'w');%function theResult = dosetup(self)%%% seagrid/dosetup -- Dialog for "seagrid" parameters.%%  setup(self) presents a dialog for self, a "seagrid"%%   object.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Apr-1999 22:15:27.%% Updated    08-May-2002 15:30:07.%%if nargin < 1, help(mfilename), return, end%%busy%%if (0)%	theProjections = ...%		{'Geographic', 'Lambert Conformal Conic', 'Mercator', 'Stereographic'};%end%%theProjections = ...%	{'Mercator', 'Stereographic', '-', 'Lambert Equal Area', '-', 'None'};%	%theProjection = psget(self, 'itsProjection');%%proj_code = 1;%for i = 1:length(theProjections)%	if isequal(lower(theProjection), lower(theProjections{i}))%		proj_code = i;%		break;%	end%end%%theProjectionCenter = psget(self, 'itsProjectionCenter');%if isempty(theProjectionCenter)%	theProjectionCenter = [0 0 0];%	psset(self, 'itsProjectionCenter', theProjectionCenter)%end%theLongitudeBounds = psget(self, 'itsLongitudeBounds');%theLatitudeBounds = psget(self, 'itsLatitudeBounds');%%theGridSize = psget(self, 'itsGridSize');%if length(theGridSize) == 1%	theGridSize = theGridSize .* [1 1];%end%%theGridDensityFactor = psget(self, 'itsGridDensityFactor');%%theClippingDepths = psget(self, 'itsClippingDepths');%%theEndSlopeFlag = psget(self, 'itsEndSlopeFlag');%%useMexFile = psget(self, 'itUsesMexFile');%%theEraseMode = psget(self, 'itsEraseMode');%if isempty(theEraseMode)%	theEraseMode = 'background';%end%switch theEraseMode%case 'background'%	theEraseModeIndex = 1;%case 'normal'%	theEraseModeIndex = 2;%case 'xor'%	theEraseModeIndex = 3;%otherwise%end%%s = [];%%s.Projection = {theProjections, proj_code};%s.Proj.CentralLongitude = theProjectionCenter(1);%s.Proj.CentralLatitude = theProjectionCenter(2);%s.Proj.RotationAngle = theProjectionCenter(3);%s.Proj.LongitudeMinMax = theLongitudeBounds;%s.Proj.LatitudeMinMax = theLatitudeBounds;%%theGridSize = max(theGridSize, [6 6]);   % Four cells minimum.%theCellCount = theGridSize;%s.Cells_Edge_1 = theCellCount(1);%s.Cells_Edge_2 = theCellCount(2);%s.MinimumDepth = theClippingDepths(1);%s.MaximumDepth = theClippingDepths(2);%%s.EndSlopeFlag = {'checkbox', any(theEndSlopeFlag)};%%s.UseMexFile = {'checkbox', any(useMexFile)};%%s.EraseMode = {{'background', 'normal', 'xor'}, theEraseModeIndex};%%SeaGrid_Setup = s;%%if (0)%%	s = uigetinfo(SeaGrid_Setup);%else%    temp = get(0, 'DefaultFigureCreateFcn');%    set(0, 'DefaultFigureCreateFcn', '')%	s = guido(SeaGrid_Setup);%    set(0, 'DefaultFigureCreateFcn', temp)%end%%if ~isempty(s)%	theNewProjection = getinfo(s, 'Projection');%	if isequal(theNewProjection, '-')%		theNewProjection = theProjection;%	end%	t = s.Proj;%	theNewCenterLon = getinfo(t, 'CentralLongitude');%	theNewCenterLat = getinfo(t, 'CentralLatitude');%	theNewCenterAng = getinfo(t, 'RotationAngle');%	theNewProjectionCenter = [theNewCenterLon theNewCenterLat theNewCenterAng];%	psset(self, 'itsNewProjection', theNewProjection)%	psset(self, 'itsNewProjectionCenter', theNewProjectionCenter)%	%	doreproject(self)%	%	theLongitudeBounds = getinfo(s, 'Proj.LongitudeMinMax');%	theLatitudeBounds = getinfo(s, 'Proj.LatitudeMinMax');%	theCells_Edge_1 = getinfo(s, 'Cells_Edge_1');%	theCells_Edge_2 = getinfo(s, 'Cells_Edge_2');%	theGridLines_Edge_1 = theCells_Edge_1;%	theGridLines_Edge_2 = theCells_Edge_2;%	psset(self, 'itsLongitudeBounds', theLongitudeBounds)%	psset(self, 'itsLatitudeBounds', theLatitudeBounds)%	if ~isempty(theGridLines_Edge_1) & ~isempty(theGridLines_Edge_2)%		theGridSize = [theGridLines_Edge_1 theGridLines_Edge_2];%		theGridSize = ceil(max(theGridSize, [6 6]));%		psset(self, 'itsGridSize', theGridSize)%	end%	theGridDensityFactor = getinfo(s, 'GridDensityFactor');%	if 0 & ~isempty(theGridDensityFactor)%		psset(self, 'itsGridDensityFactor', theGridDensityFactor)%	end%	theClippingDepths = getinfo(s, 'ClippingDepths');%	if 0 & ~isempty(theClippingDepths)%		psset(self, 'itsClippingDepths', theClippingDepths);%	end%	theMinimumDepth = getinfo(s, 'MinimumDepth');%	theMaximumDepth = getinfo(s, 'MaximumDepth');%	if ~isempty(theMinimumDepth) & ~isempty(theMaximumDepth)%		theClippingDepths = [theMinimumDepth theMaximumDepth];%		psset(self, 'itsClippingDepths', theClippingDepths);%	end%	theEndSlopeFlag = getinfo(s, 'EndSlopeFlag');%	if ~isempty(theEndSlopeFlag)%		psset(self, 'itsEndSlopeFlag', any(theEndSlopeFlag))%	end%	useMexFile = getinfo(s, 'UseMexFile');%	if ~isempty(useMexFile)%		psset(self, 'itUsesMexFile', any(useMexFile));%	end%	theEraseMode = getinfo(s, 'EraseMode');%	if ~isempty(theEraseMode)%		psset(self, 'itsEraseMode', theEraseMode)%	end%	psset(self, 'itNeedsUpdate', 1)%else%	psset(self, 'itNeedsUpdate', 0)%end%%if nargout > 0, theResult = self; end%%idlefclose(fout);disp(' ## Installing: "dospacers.m" (text)')fout = fopen('dospacers.m', 'w');%function theResult = dospacers(self)%%% seagrid/dospacers -- Compute the spacer effects.%%  dospacers(self) computes and draws the spacers of%%   the orthogonal grid for self, a "seagrid" object.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 15-Apr-1999 08:56:48.%% Updated    28-Jun-2000 17:06:00.%%if nargout > 0, theResult = []; end%if nargin < 1, help(mfilename), return, end%%theGridSize = psget(self, 'itsGridSize');%theSpacedGrids = psget(self, 'itsSpacedGrids');%theColor = psget(self, 'itsEdgeColor');%theEraseMode = psget(self, 'itsEraseMode');%theSpacerFlag = psget(self, 'itsSpacerFlag');%theSpacers = psget(self, 'itsSpacers');%theSpacerCounts = psget(self, 'itsSpacerCounts');%theSpacings = psget(self, 'itsSpacings');%theSpacedEdges = psget(self, 'itsSpacedEdges');%theSpacerMarker = psget(self, 'itsSpacerMarker');%theInterpFcn = psget(self, 'itsInterpFcn');%theInterpMethod = psget(self, 'itsInterpMethod');%%theMarkerSize = get(0, 'DefaultLineMarkerSize');%theMarkerSize = 9;%theMarkerSize = 15;%%switch theSpacerFlag%case 0%	theVisible = 'off';%otherwise%	theVisible = 'on';%end%%if isempty(theSpacings)%	for i = 1:length(theGridSize)%		theSpacings{i} = linspace(0, 1, theGridSize(i)+1)%	end%	psset(self, 'itsSpacings', theSpacings)%end%%TOLERANCE = sqrt(eps);%%for k = 1:length(theGridSize)%	x = linspace(0, 1, length(theSpacings{k}));%	y = theSpacings{k};%	xi = linspace(0, 1, theSpacerCounts(k)+2);%	yi = feval(theInterpFcn, x, y, xi, theInterpMethod);%	for i = 2:length(yi)%		yi(i) = max(yi(i), yi(i-1)+TOLERANCE);%	end%	yi = yi / max(yi);%	dd{k} = yi;%end%%psset(self, 'itsSpacerSpacings', dd)%%dd1 = dd{1};%dd2 = dd{2};%%f = findobj('Type', 'line', 'Tag', 'spacer');%if any(f), delete(f), end%%TOLERANCE = sqrt(eps);%%% The following gets confused when side #3%%  and/or side #4 is invoked.  I think that%%  we are mistakenly flip-flopping our spacers.%%if ~isempty(theSpacedGrids)%	u = theSpacedGrids{1}; v = theSpacedGrids{2};%	u1 = u(:, 1); v1 = v(:, 1);%	u2 = u(end, :).'; v2 = v(end, :).';%	if theSpacedEdges(1) == 3%		u1 = u(:, end); v1 = v(:, end);%		u1 = flipud(u1); v1 = flipud(v1);%	end%	if theSpacedEdges(2) == 4%		u2 = u(1, :).'; v2 = v(1, :).';%		u2 = flipud(u2); v2 = flipud(v2);%	end%	z1 = u1 + v1*sqrt(-1);%	z2 = u2 + v2*sqrt(-1);%	d1 = cumsum([0; abs(diff(z1))]);%	for i = 2:length(d1)%		d1(i) = max(d1(i), d1(i-1)+TOLERANCE);%	end%	d1 = d1 / max(d1);%	d2 = cumsum([0; abs(diff(z2))]);%	for i = 2:length(d2)%		d2(i) = max(d2(i), d2(i-1)+TOLERANCE);%	end%	d2 = d2 / max(d2);%	zz1 = feval(theInterpFcn, d1, z1, dd1, theInterpMethod);%	zz2 = feval(theInterpFcn, d2, z2, dd2, theInterpMethod);%	uu1 = real(zz1); vv1 = imag(zz1);%	uu2 = real(zz2); vv2 = imag(zz2);%	theButtonDownFcn = 'psevent down';%	hold on%	for i = 1:length(uu1)%		h1(i) = plot(uu1(i), vv1(i), theSpacerMarker, ...%				'MarkerSize', theMarkerSize, ...%				'EraseMode', theEraseMode, 'Visible', theVisible, ...%				'ButtonDownFcn', theButtonDownFcn, 'Tag', 'spacer', ...%				'UserData', [uu1(i) vv1(i) dd1(i)]);%	end%	for i = 1:length(uu2)%		h2(i) = plot(uu2(i), vv2(i), theSpacerMarker, ...%				'MarkerSize', theMarkerSize, ...%				'EraseMode', theEraseMode, 'Visible', theVisible, ...%				'ButtonDownFcn', theButtonDownFcn, 'Tag', 'spacer', ...%				'UserData', [uu2(i) vv2(i) dd2(i)]);%	end%	set(h1([1 length(h1)]), 'Visible', 'off')%	set(h2([1 length(h2)]), 'Visible', 'off')%	hold off%	theSpacers = {h1, h2};%end%%psset(self, 'itsSpacers', theSpacers)%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "dospacings.m" (text)')fout = fopen('dospacings.m', 'w');%function theResult = dospacings(self)%%% seagrid/dospacings -- Compute spacings from spacer locations.%%  dospacings(self) computes the grid spacings from the spacer%%   locations, on behalf of self, a "seagrid" object.  The%%   density of grid-lines in the vicinity of the selected%%   point is doubled (click) or halved (shift-click).% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 23-Apr-1999 12:51:23.%% Updated    11-Feb-2000 16:45:12.%%if nargout > 0, theResult = self; end%if nargin < 1, help(mfilename), return, end%%theSpacers = psget(self, 'itsSpacers');%if isempty(theSpacers), return, end%%sel = psget(self, 'SelectionType');%%theGridSize = psget(self, 'itsGridSize');%theInterpFcn = psget(self, 'itsInterpFcn');%theInterpMethod = psget(self, 'itsInterpMethod');%theSpacerSpacings = psget(self, 'itsSpacerSpacings');%theSpacerCounts = psget(self, 'itsSpacerCounts');%theSpacings = psget(self, 'itsSpacings');%theSpacedEdges = psget(self, 'itsSpacedEdges');%%if isempty(theSpacings)%	theSpacings = cell(1, length(theGridSize));%	for k = 1:length(theSpacings)%		theSpacings{k} = linspace(0, 1, theGridSize(k)+1);%	end%	psset(self, 'itsSpacings', theSpacings)%end%%if isempty(theSpacedEdges)%	theSpacedEdges = [1 2];%	psset(self, 'itsSpacedEdges', theSpacedEdges)%end%%for k = 1:length(theGridSize)%	h = theSpacers{k};%	for i = 1:length(h)%		if ~ishandle(h(i))%			psset(self, 'itsSpacers', [])%			psset(self, 'itsSpacings', [])%			return%		end%	end%end%%for k = 1:length(theGridSize)%	h = theSpacers{k};%	if isempty(h)%		psset(self, 'itsSpacings', [])%	end%	selected = 0;%	for i = 1:length(h)%		if isequal(get(h(i), 'Selected'), 'on')%			selected = i;%			break;%		end%	end%	if selected > 1 & selected < length(h)%		s = theSpacerSpacings{k};%		s = s(:).';   % Make row-vector.%		switch sel%		case {'normal', 'extend'}   % Drag a spacer.%			z = zeros(size(h));%			zold = zeros(size(h));%			didMove = 0;%			for i = 1:length(h)%				x = get(h(i), 'XData');   % New x location.%				y = get(h(i), 'YData');   % New y location.%				udata = get(h(i), 'UserData');   % Old [x y] location.%				xyold = udata(1:2);%				if any(xyold(1:2) ~= [x y]) & i == selected%					didMove = 1;%				end%				z(i) = x + sqrt(-1)*y;%				zold(i) = xyold(1) + sqrt(-1)*xyold(2);%				setsafe(h(i), 'UserData', [x y])%			end%			if didMove%				d = abs(diff(z));%				a = d(selected-1);%				b = d(selected);%				frac = a ./ (a + b);%				s(selected) = (1-frac) .* s(selected-1) + frac * s(selected+1);%				udata = get(h(selected), 'UserData');%				udata = [udata s(selected)];%				setsafe(h(selected), 'UserData', udata)%			end%		end%		theSpacerSpacings{k} = s;%		x = linspace(0, 1, length(s));%		y = s;%		xi = linspace(0, 1, theGridSize(k)+1);%		yi = splinesafe(x, y, xi, 1);%		for i = 2:length(yi)%			yi(i) = max(yi(i), yi(i-1));%		end%		theSpacings{k} = yi;%	end%end%%% Interpolate if grid-size has changed.%%TOLERANCE = sqrt(eps);%%for k = 1:length(theSpacings)%	if length(theSpacings{k}) ~= theGridSize(k)+1%		x = linspace(0, 1, length(theSpacings{k}));%		y = theSpacings{k};%		xi = linspace(0, 1, theGridSize(k)+1);%		yi = feval(theInterpFcn, x, y, xi, theInterpMethod);%		for i = 2:length(yi)%			yi(i) = max(yi(i), yi(i-1)+TOLERANCE);%		end%		yi = yi / max(yi);%		theSpacings{k} = yi;%	end%end%%psset(self, 'itsSpacings', theSpacings)%psset(self, 'itsSpacerSpacings', theSpacerSpacings)%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "doticks.m" (text)')fout = fopen('doticks.m', 'w');%function theResult = doticks(self, autoBounds)%%% seagrid/doticks -- Geographic tick-marks.%%  doticks(self) updates the geographic tickmarks%%   on behalf of self, a seagrid object.%%  doticks(self, autoBounds) causes the geographic%%   bounds to be set automatically if "autoBounds"%%   is logically TRUE, even if manual bounds are%%   available.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 26-Jul-1999 10:45:47.%% Updated    19-Mar-2002 15:28:26.%%if nargout > 0, theResult = self; end%if nargin < 1, help(mfilename), return, end%if nargin < 2, autoBounds = 0; end%%if verbose(self)%	disp([' ## ' mfilename])%end%%theProjection = psget(self, 'itsProjection');%theMapUnits = psget(self, 'itsMapUnits');%%theFigure = ps(self);%setsafe(0, 'CurrentFigure', theFigure)%%% Project plot limits to geographic coordinates.%%theAxes = findobj('Type', 'axes', 'Tag', class(self));%if isempty(theAxes)%	theAxes = gca;%	set(theAxes, 'Tag', class(self))%end%%setsafe(theFigure, 'CurrentAxes', theAxes)%%setsafe(theAxes, 'DataAspectRatio', [1 1 1])%%xlim = get(theAxes, 'XLim');%ylim = get(theAxes, 'YLim');%axpos = get(theAxes, 'Position');%%axpos(1) = axpos(1) + 10*axpos(3);   % Push out of window.%%% Note: bounds that are manually set override any zooming%%  that could have taken place.  We need to figure out how%%  to have them both.%%theLongitudeBounds = psget(self, 'itsLongitudeBounds');%theLatitudeBounds = psget(self, 'itsLatitudeBounds');%	%if length(theLongitudeBounds) == 2 & length(theLatitudeBounds) == 2%	if ~autoBounds%		lo = theLongitudeBounds;%		la = min(theLatitudeBounds) * [1 1];%		[xlim, ignore] = sg_ll2xy(lo, la);%		lo = min(theLongitudeBounds) * [1 1];%		la = theLatitudeBounds;%		[ignore, ylim] = sg_ll2xy(lo, la);%		setsafe(theAxes, 'XLim', xlim, 'YLim', ylim)%	else%		axis normal%	end%elseif length(theLongitudeBounds) ~= length(theLatitudeBounds)%	disp(' ## Longitude and latitude bounds require 2 elements each.')%	axis normal%else%if verbose(self), hello doticks line 79 axis normal disabled, end%%	axis normal%end%%switch switchsafe(lower(theMapUnits))%%case {'degrees', 'deg'}%	[lolim, lalim] = sg_xy2ll(xlim, ylim);%%	if ~isunix | 1%%% Use a temporary, invisible axis to get tick-marks%%  and labels for the equivalent geographic ranges.%%  This is a poorman's "linticks" scheme.%%		ax = axes('Position', axpos, 'Visible', 'off', ...%					'XLim', sort(lolim), 'YLim', sort(lalim));%		%		lotick = get(ax, 'XTick');%		loticklabel = get(ax, 'XTickLabel');%		%		latick = get(ax, 'YTick');%		laticklabel = get(ax, 'YTickLabel');%		%		delete(ax)%	else%		%% Try a "linticks" scheme that avoids creating any%%  additional graphics, even invisible ones.%%		lotick = linticks(min(lolim), max(lolim), 10);%		f = find(lotick >= min(lolim) & lotick <= max(lolim));%		lotick = lotick(f);%		loticklabel = num2str(lotick(:));   % Right-justified.%		[m, n] = size(loticklabel);%		for i = 1:m%			lab = loticklabel(i, :);%			k = floor(sum(lab == ' ')/2);%			lab = [lab(k+1:end) lab(1:k)];   % Centered.%			loticklabel(i, :) = lab;%		end%		%		latick = linticks(min(lalim), max(lalim), 10);%		f = find(latick >= min(lalim) & latick <= max(lalim));%		latick = latick(f);%		laticklabel = num2str(latick(:));   % Right-justified.%	end%%% Place the geographic ticks and labels%%  on the projected seagrid map.%%	lo = lotick;%	la = latick(1) + zeros(size(lotick));%	[xtick, ignore] = sg_ll2xy(lo, la);%	%	lo = lotick(1) + zeros(size(latick));%	la = latick;%	[ignore, ytick] = sg_ll2xy(lo, la);%	%	setsafe(theAxes, 'XTick', xtick, 'XTickLabel', loticklabel, ...%						'YTick', ytick, 'YTickLabel', laticklabel)%%	xlab = get(theAxes, 'XLabel');%	ylab = get(theAxes, 'YLabel');%	setsafe(xlab, 'String', 'Longitude')%	setsafe(ylab, 'String', 'Latitude')%	%case {'kilometers', 'km'}%	EARTH_RADIUS = 6378;   % kilometers.%	xlim = xlim * EARTH_RADIUS;%	ylim = ylim * EARTH_RADIUS;%	ax = axes('Position', axpos, 'Visible', 'off', ...%				'XLim', sort(xlim), 'YLim', sort(ylim));%	xtick = get(ax, 'XTick') / EARTH_RADIUS;%	xticklabel = get(ax, 'XTickLabel');%	ytick = get(ax, 'YTick') / EARTH_RADIUS;%	yticklabel = get(ax, 'YTickLabel');%	delete(ax)%	setsafe(theAxes, 'XTick', xtick, 'XTickLabel', xticklabel, ...%						'YTick', ytick, 'YTickLabel', yticklabel)%%	xlab = get(theAxes, 'XLabel');%	ylab = get(theAxes, 'YLabel');%	setsafe(xlab, 'String', 'X (km)')%	setsafe(ylab, 'String', 'Y (km)')%	%case 'projected'%	xlim = xlim;%	ylim = ylim;%	ax = axes('Position', axpos, 'Visible', 'off', ...%				'XLim', sort(xlim), 'YLim', sort(ylim));%	xtick = get(ax, 'XTick');%	xticklabel = get(ax, 'XTickLabel');%	ytick = get(ax, 'YTick');%	yticklabel = get(ax, 'YTickLabel');%	delete(ax)%	setsafe(theAxes, 'XTick', xtick, 'XTickLabel', xticklabel, ...%						'YTick', ytick, 'YTickLabel', yticklabel)%%	xlab = get(theAxes, 'XLabel');%	ylab = get(theAxes, 'YLabel');%	setsafe(xlab, 'String', 'X')%	setsafe(ylab, 'String', 'Y')%otherwise%end%%dograticule(self)%%setsafe(gca, 'DataAspectRatio', [1 1 1])%%% Would it be helpful to do "drawnow" here?  No.%% drawnow%%if nargout > 0, theResult = self; end%%%% ---------- linticks ---------- %%%function theResult = linticks(theMin, theMax, theTickCount)%%% linticks -- Tick positions within a range.%%  linticks(theMin, theMax, theTickCount) returns a vector%%   of tick positions that span the interval from theMin%%   to theMax, with theTickCount or fewer elements.%%   Based on the "goodscales" scheme used by the Matlab%%   "plotyy" routine.% %% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 08-Feb-2000 21:27:14.%% Updated    08-Feb-2000 21:27:14.%%if nargout > 0, theResult = []; end%%if nargin < 1, help(mfilename), return, end%%if ischar(theMin), theMin = eval(theMin); end%if ischar(theMax), theMax = eval(theMax); end%if ischar(theTickCount), theTickCount = eval(theTickCount); end%%[low, high, ticks] = goodscales(theMin, theMax);%%f = find(ticks <= theTickCount);%if any(f)%	f = f(1);%	result = linspace(low(f), high(f), ticks(f));%	result(abs(result) < sqrt(eps)) = 0;%end%%if nargout > 0%	theResult = result;%else%	assignin('caller', 'ans', result)%	disp(result)%end%%%% ---------- goodscales ---------- %%%%function [low, high, ticks] = goodscales(xmin, xmax)%%% GOODSCALES -- Returns parameters for "good" scales.%%  [LOW, HIGH, TICKS] = GOODSCALES(XMIN, XMAX) returns lower and upper%%   axis limits (LOW and HIGH) that span the interval (XMIN, XMAX) %%   with "nice" tick spacing.  The number of major axis ticks is %%   returned in TICKS.%%% ** Liberated from "plotyy.m".%%% Modifications:%% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 08-Feb-2000 20:50:36.%% Updated    08-Feb-2000 21:16:45.%%if nargin < 1, help(mfilename), return, end%%if ischar(xmin), xmin = eval(xmin); end%if ischar(xmax), xmax = eval(xmax); end%%BestDelta = [ 0.1 0.2 0.5 1 2 5 10 20 50 ];%%xmin = min(xmin(:));%xmax = max(xmax(:));%%if xmin == xmax%	lo = xmin;%	high = xmax + 1;%	ticks = 1;%else%	Xdelta = xmax-xmin;%	delta = 10.^(round(log10(Xdelta) - 1)) * BestDelta;%	high = delta .* ceil(xmax ./ delta);%	lo = delta .* floor(xmin ./ delta);%	ticks = round((high - lo) ./ delta) + 1;%end%%if nargout > 0%	low = lo;%elseif nargout == 1%	low = [lo; high; ticks];%else%	disp([lo; high; ticks])%end%fclose(fout);disp(' ## Installing: "doupdate.m" (text)')fout = fopen('doupdate.m', 'w');%function theResult = doupdate(self, needsUpdate)%%% seagrid/doupdate -- Update a "seagrid" object.%%  doupdate(self) updates self, a "seagrid" object.%%   If the "itNeedsUpdate" flag of self is logically%%   true, the grid is recomputed as part of the%%   updating protocol.%%  update(self, needsUpdate) uses the given flag%%   to override the 'itNeedsUpdate' flag in self.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Apr-1999 21:19:19.%% Updated    10-Apr-2003 10:07:41.%%theProjection = psget(self, 'itsProjection');%theProjectionCenter = psget(self, 'itsProjectionCenter');%sg_proj(theProjection, theProjectionCenter)%%theFigure = ps(self);%setsafe(0, 'CurrentFigure', theFigure)%%theAxes = findobj(theFigure, 'Type', 'axes', 'Tag', 'seagrid');%if isempty(theAxes)%	theAxes = gca;%end%setsafe(theAxes, 'Tag', 'seagrid')%setsafe(theFigure, 'CurrentAxes', theAxes)%%theTitle = get(theAxes, 'Title');%setsafe(theTitle, 'String', [theProjection ' Projection'])%%thePoints = psget(self, 'itsPoints');%if length(thePoints) < 4%	doticks(self)%	setsafe(theFigure, 'Pointer', 'crosshair')%	if nargout > 0, theResult = self; end%	return%end%%busy%%if nargin < 2%	needsUpdate = psget(self, 'itNeedsUpdate');%else%	psset(self, 'itNeedsUpdate', needsUpdate)%end%%if verbose(self)%	disp([' ## ' mfilename ' ' int2str(needsUpdate)])%end%%theOrthogonalityFlag = psget(self, 'itsOrthogonalityFlag');%theBathymetryFlag = psget(self, 'itsBathymetryFlag');%theMaskingFlag = psget(self, 'itsMaskingFlag');%theMaskTool = psget(self, 'itsMaskTool');%theMaskToolFlag = psget(self, 'itsMaskToolFlag');%%if any(theMaskTool)%	domasktool(self)   % Turn it off.%end%%h = findobj(theFigure, 'Tag', 'masktool');%if any(h), delete(h), end%%h = findobj(theFigure, 'Tag', 'grid2mask');%if any(h), delete(h), end%%psset(self, 'itsMaskTool', []);%theMaskTool = psget(self, 'itsMaskTool');%%dospacings(self);   % <== Step #1 <==%%h = findobj(theFigure, 'Tag', 'orthogonality');%if any(h), delete(h), end%h = findobj(theFigure, 'Tag', 'gridded-bathymetry');%if any(h), delete(h), end%h = findobj(theFigure, 'Tag', 'contoured-bathymetry');%if any(h), delete(h), end%h = findobj(theFigure, 'Tag', 'mask');%if any(h), delete(h), end%h = findobj(theFigure, 'Type', 'line', 'Tag', 'grid-line');%if any(h), delete(h), end%h = findobj(theFigure, 'Type', 'line', 'Tag', 'edge');%if any(h), delete(h), end%h = findobj(theFigure, 'Type', 'line', 'Tag', 'spacer');%if any(h), delete(h), end%%dogrid(self, needsUpdate);   % <== Step #2 <==%%f = findobj(theFigure, 'Tag', 'Colorbar');%if any(f), delete(f), end%%theAxes = gca;%%theColorBarFlag = 0;%if any(theOrthogonalityFlag)%	self = doorthogonality(self);   % <== Step #3 <==%	theColorBarFlag = 0;   % Does its own colorbar.%else%	if any(theMaskingFlag)%		needsMask = 1;%		self = domask(self, needsMask);   % <== Step #4 <==%	end%	if any(theBathymetryFlag)%		needsBathymetry = 1;%		self = dobathymetry(self, needsBathymetry);   % <== Step #5 <==%	end%	if any(theMaskToolFlag)%		theMaskTool = psget(self, 'itsMaskTool');%		if any(theMaskTool)%			domasktool(self)   % Delete it.%		end%		self = domasktool(self);   % <== Step #6 <==%		theColorBarFlag = 1;%		psset(self, 'itsMaskingFlag', 0)%		psset(self, 'itsBathymetryFlag', 0)%	end%end%%setsafe(0, 'CurrentFigure', theFigure)%%doedges(self);   % <== Step #7 <==%dospacers(self);   % <== Step #8 <==%dopoints(self);   % <== Step #9 <==%doticks(self);   % <== Step #10 <==%%% We have to activate the colorbar here%%  whenever we use the masktool.%%if any(theColorBarFlag)%	setsafe(gca, 'CLimMode', 'auto')%	colorbar%end%%if any(theColorBarFlag) & any(theMaskToolFlag) & ...%		~any(theOrthogonalityFlag)%	h = colorbar;%	setsafe(get(h, 'Ylabel'), 'String', 'Depth')%end%%axes(theAxes)%%theWBDF = ...%	'if zoomsafe(''down''), doticks(ps(gcf), 1), end';%	%setsafe(theFigure, 'WindowButtonDownFcn', theWBDF)%%needsUpdate = 0;%psset(self, 'itNeedsUpdate', needsUpdate)%%% Update the mysteriously disappearing menus on Linux.%%if any(findstr(lower(computer), 'lnx86'))%    doaddmenus(self)%end%%idle%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "getbathymetry.m" (text)')fout = fopen('getbathymetry.m', 'w');%function theResult = getbathymetry(self, theBathymetryFile)%%% seagrid/getbathymetry -- Load and plot a bathymetry file.%%  getbathymetry(self, 'theBathymetryFile') loads and plots%%   the given bathymetry file on behalf of self, a "seagrid"%%   object.  If no filename is given, the current bathymetry%%   filename in self is used.  If a Mat-file, the variables%%   are expected to be "xbathy" (latitude), "ybathy" (longitude),%%   "zbathy" (arbitrary units, positive downwards).  If an%%   ascii file with three columns, the arrangement is expected%%   to be [xbathy ybathy zbathy].% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Apr-1999 08:48:25.%% Updated    08-May-2002 15:25:13.%%if nargout > 0, theResult = self; end%%if nargin < 1, help(mfilename), return, end%%if nargin < 2%	theBathymetryFile = psget(self, 'itsBathymetryFile');%end%%if ~isempty(theBathymetryFile) & ~any(theBathymetryFile == filesep)%	theBathymetryFile = which(theBathymetryFile);%end%psset(self, 'itsBathymetryFile', theBathymetryFile)%%if isempty(theBathymetryFile), return, end%%okay = 0;%%xbathy = [];%ybathy = [];%zbathy = [];%%s = load(theBathymetryFile);%%switch class(s)%case 'double'%	if size(s, 2) == 3   % Three columns.%		xbathy = s(:, 1);%		ybathy = s(:, 2);%		zbathy = s(:, 3);%		okay = 1;%	end%case 'struct'%	try%		xbathy = s.xbathy;%		ybathy = s.ybathy;%		zbathy = s.zbathy;%		okay = 1;%	catch%	end%end%%if ~okay%	disp([' ## Not a valid bathymetry file: ' theBathymetryFile])%	return%end%%% Plot the bathymetric points as dots.%%theBathymetryColor = psget(self, 'itsBathymetryColor');%theButtonDownFcn = get(gca, 'ButtonDownFcn');%h = findobj('Type', 'line', 'Tag', 'bathymetry');%if any(h), delete(h), end%theProjection = psget(self, 'itsProjection');%switch lower(theProjection)%case {'none', 'geographic'}%	theProjection = 'Geographic';%	x = xbathy; y = ybathy;%otherwise%	sg_proj(theProjection)%	[x, y] = sg_ll2xy(xbathy, ybathy);%	x = real(x);%	y = real(y);%end%hold on%z = -zbathy;%h = plot3(x(:), y(:), z(:), '.', 'Color', theBathymetryColor, ...%					'MarkerSize', 10, 'Tag', 'bathymetry');%hold off%view(2)%zoomsafe 0%set([gca h], 'ButtonDownFcn', theButtonDownFcn)%%self = doupdate(self);%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "getboundary.m" (text)')fout = fopen('getboundary.m', 'w');%function theResult = getboundary(self, theCommand, theMessage)%%% seagrid/getboundary -- Boundary construction.%%  getboundary(self, theCommand, theMessage) processes theCommand%%   and theMessage on behalf of self, a "seagrid" object.%%%%  [> CORNERS <] -- Start by clicking on four locations in%%     counter-clockwise sequence to initialize the four%%     corner-points of the boundary.%%%%  [> EDGES <] -- Use "mousedown-and-drag" on any edge to insert%%     and drag a new control-point.%%%%  [> DRAG <] -- Use "mousedown-and-drag" on a control point or%%     spacer-point to move it.%%%%  [> DELETE <] -- Use "alt-click" on a control-point to delete it.%%%%  [> ZOOM <] -- Click in white-space to invoke "zoomsafe" action.%%     See "help zoomsafe".% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 09-Apr-1999 09:19:32.%% Updated    23-Apr-2001 16:24:11.%%persistent theDraggable%persistent didMove%%if nargin < 1, help(mfilename), return, end%if nargin < 2, theCommand = 'start'; end%if nargin < 3, theMessage = ''; end%%% Initialization.%%switch lower(theCommand)%case 'start'%	h = get(gca, 'Children');%	if isempty(h)%		set(gca, 'XLim', [-0.5 0.5], 'YLim', [-0.5 0.5])%	else%		axis tight%	end%	doticks(self)%	theButtonDownFcn = 'psevent corner';%	set(gcf, 'WindowButtonDownFcn', theButtonDownFcn)%	if ismac%		set(gcf, 'Pointer', 'crosshair')%	else%		set(gcf, 'Pointer', 'cross')%	end%%	help_start(self)%	return%case 'clear'%	set(gca, 'ButtonDownFcn', '', 'UserData', [])%	return%end%%% Mouse activities.%%% disp([' ## ' command ' ' num2str(gcbo)])%%curr = get(gca, 'CurrentPoint');%x = curr(1, 1); y = curr(1, 2);%% disp([' ## ' num2str(x) ' ' num2str(y)])%sel = get(gcf, 'SelectionType');%%theLineStyle = psget(self, 'itsCornerLineStyle');%theMarker = psget(self, 'itsCornerMarker');%theColor = psget(self, 'itsCornerColor');%theEraseMode = psget(self, 'itsEraseMode');%%% Get four corner-points.%%switch lower(theCommand)%case 'corner'%	thePoints = get(gca, 'UserData');%	if length(thePoints) < 4%		theTag = 'corner-point';%		hold on%		h = plot(x, y, 'EraseMode', theEraseMode, 'Tag', theTag);%		hold off%		thePoints = [thePoints h];%		switch length(thePoints)%		case 1%			theMarker = '*';%		otherwise%			theMarker = 'o';%		end%		set(h, 'LineStyle', theLineStyle, 'Marker', theMarker, ...%				'Color', theColor, 'EraseMode', theEraseMode)%		set(gca, 'UserData', thePoints)%	end%	if length(thePoints) >= 4%		set(gcf, 'Pointer', 'arrow')%		thePoints = get(gca, 'UserData');%		thePoints = rearrange(thePoints(1:4));%		set(gca, 'ButtonDownFcn', '', 'UserData', [])%		set(gcf, 'WindowButtonDownFcn', '')%		h = findobj('Type', 'line', 'Tag', 'coastline');%		if any(h), set(h, 'ButtonDownFcn', ''), end%		h = findobj('Type', 'line', 'Tag', 'bathymetry');%		if any(h), set(h, 'ButtonDownFcn', ''), end%		psset(self, 'itsPoints', thePoints)%		psset(self, 'itsMaskToolFlag', 0)   % Note.%		doupdate(self, 1)%	end%	return%otherwise%end%%% Manipulate points.%%switch lower(theCommand)%case 'motion'%	didMove = 1;%	switch get(theDraggable, 'Tag')%	case {'corner-point', 'edge-point', 'pot'}%		set(theDraggable, 'XData', x, 'YData', y)%	case 'spacer'%		switch sel%		case 'alt'%			set(theDraggable, 'XData', x, 'YData', y)%		otherwise%			set(theDraggable, 'XData', x, 'YData', y)%		end%	otherwise%	end%case 'up'%	set(gcf, 'WindowButtonMotionFcn', '', 'WindowButtonUpFcn', '')%	set(gcf, 'Pointer', 'arrow')%	switch get(theDraggable, 'Tag')%	case {'corner-point', 'edge-point', 'pot'}%		set(theDraggable, 'XData', x, 'YData', y)%		theDraggable = [];%		%		psset(self, 'itsMaskToolFlag', 0)%		%		doupdate(self, 1)%	case 'spacer'%		set(theDraggable, 'XData', x, 'YData', y)%		theDraggable = [];%		sel = get(gcf, 'SelectionType');%		switch sel%		case 'normal'%			psset(self, 'itsMaskToolFlag', 0)   % Note.%			doupdate(self, ~ismac)%		case 'extend'%			dospacings(self)%			dospacers(self)%		case 'alt'%		end%	otherwise%	end%	didMove = 0;%case 'down'%	didMove = 0;%	switch get(gco, 'Tag')%	case 'corner-point'   % Drag a corner-point.%		switch sel%		case 'normal'   % Drag it.%			theDraggable = gco;%			getboundary(self, 'dodrag')%		otherwise%			disp([' ## "' sel '-click" not used by corners.'])%		end%	case 'edge'   % Add/drag a new edge-point.%		switch sel%		case 'normal'   % Add/drag it.%			theEraseMode = psget(self, 'itsEraseMode');%			hold on%			h = plot(x, y, 'EraseMode', theEraseMode, 'Tag', 'edge-point');%			hold off%			theDraggable = h;%			thePoints = psget(self, 'itsPoints');%			p = get(gco, 'UserData');%			p(~isnan(p)) = thePoints;%			p(isnan(p)) = h;%			thePoints = p;%			theButtonDownFcn = 'psevent down';%			theLineStyle = 'none';%			theMarker = psget(self, 'itsEdgeMarker');%			theColor = psget(self, 'itsEdgeColor');%			set(h, 'UserData', thePoints, 'ButtonDownFcn', theButtonDownFcn)%			set(h, 'EraseMode', theEraseMode, 'LineStyle', 'none', ...%					'Marker', theMarker, 'Color', theColor)%			psset(self, 'itsPoints', thePoints)%			getboundary(self, 'dodrag')%		otherwise%			disp([' ## "' sel '-click" not used by edges.'])%		end%	case 'edge-point'   % Drag or delete edge-point.%		switch sel%		case 'normal'   % Drag it.%			theDraggable = gco;%			didMove = 0;%			getboundary(self, 'dodrag')%		case 'extend'   % Toggle -- not used.%			theSelected = get(gco, 'Selected');%			switch theSelected%			case 'on'%				theSelected = 'off';%			case 'off'%				theSelected = 'on';%			otherwise%			end%			set(gco, 'Selected', theSelected)%		case 'alt'   % Delete it.%			thePoints = get(gco, 'UserData');%			thePoints(thePoints == gco) = [];%			delete(gco)%			set(thePoints, 'UserData', thePoints)%			psset(self, 'itsPoints', thePoints)%			psset(self, 'itsMaskToolFlag', 0)   % Note.%			doupdate(self, 1)%		otherwise%		end%		%% N.B. We will double or (halve) the local grid density on%%  either side of a spacer by using click (or shift-slick).%%  Option-click can be used to reposition a single grid-line.%%	case 'spacer'%		switch sel%		case 'normal'   % Select it.%			h = findobj('Tag', 'pot', 'Selected', 'on');%			set(h, 'Selected', 'off')%			theDraggable = gco;%			set(theDraggable, 'Selected', 'on')%			didMove = 0;%			getboundary(self, 'dodrag')%		case 'extend'   % Select it.%			h = findobj('Tag', 'pot', 'Selected', 'on');%			set(h, 'Selected', 'off')%			theDraggable = gco;%			set(theDraggable, 'Selected', 'on')%			didMove = 0;%			getboundary(self, 'dodrag')%		case 'alt'   % Drag it.%			h = findobj('Tag', 'pot', 'Selected', 'on');%			set(h, 'Selected', 'off')%			theDraggable = gco;%			set(theDraggable, 'Selected', 'on')%			didMove = 0;%			getboundary(self, 'dodrag')%		otherwise%			disp([' ## "' sel '-click" not used by spacers.'])%		end%	case 'pot'%	otherwise%	end%case 'dodrag'   % Drag one point.%	thePointer = 'circle';%	theSelected = 'on';%	theWindowButtonMotionFcn = 'psevent motion';%	theWindowButtonUpFcn = 'psevent up';%	set(gcf, 'WindowButtonMotionFcn', theWindowButtonMotionFcn, ...%				'WindowButtonUpFcn', theWindowButtonUpFcn, ...%				'Pointer', thePointer)%otherwise%end%%function theResult = rearrange(thePoints)%%% rearrange -- Rearrange points to counter-clockwise.%%  rearrange(thePoints) flips the order of thePoints%%   (handles) if they are not in counter-clockwise%%   sequence.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 16-Apr-1999 11:19:36.%%if nargin < 1, help(mfilename), return, end%%x = zeros(length(thePoints), 1);%y = zeros(size(x));%%for i = 1:length(thePoints)%	x(i) = get(thePoints(i), 'XData');%	y(i) = get(thePoints(i), 'YData');%end%%x(end+1) = x(1);%y(end+1) = y(1);%%i = 1:length(x)-1;%j = i+1;%%theArea = 0.5 * sum(x(i).*y(j) - x(j).*y(i));%%result = thePoints;%if theArea < 0%	result(2:length(result)) = result(length(result):-1:2);%end%%theResult = result;fclose(fout);disp(' ## Installing: "getcoastline.m" (text)')fout = fopen('getcoastline.m', 'w');%function theResult = getcoastline(self, theCoastlineFile)%%% seagrid/getcoastline -- Load and plot a coastline.%%  getcoastline(self) loads and plots a coastline file%%   on behalf of self, a "seagrid" object.  If no%%   filename is given, the current coastline filename%%   in self is used.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Apr-1999 08:48:25.%% Updated    11-Dec-2000 15:11:40.%%if nargout > 0, theResult = self; end%%if nargin < 1, help(mfilename), return, end%%if nargin < 2%	theCoastlineFile = psget(self, 'itsCoastlineFile');%end%%if ~isempty(theCoastlineFile) & ~any(theCoastlineFile == filesep)%	theCoastlineFile = which(theCoastlineFile);%end%psset(self, 'itsCoastlineFile', theCoastlineFile)%%if isempty(theCoastlineFile), return, end%%s = load(theCoastlineFile);%%if isstruct(s)%	lon = s.lon;%	lat = s.lat;%else%	lon = s(:, 1);%	lat = s(:, 2);%end%%theCoastlineColor = psget(self, 'itsCoastlineColor');%theButtonDownFcn = get(gca, 'ButtonDownFcn');%h = findobj('Type', 'line', 'Tag', 'coastline');%if any(h), delete(h), end%%theProjection = psget(self, 'itsProjection');%switch lower(theProjection)   % Needs cleaning up.%case {'none', 'geographic'}%	theProjection = 'Geographic';%	x = lon; y = lat;%otherwise%	sg_proj(theProjection)%	[x, y] = sg_ll2xy(lon, lat);%	x = real(x);%	y = real(y);%end%%hold on%h = plot(x, y, '-', 'Color', theCoastlineColor, ...%						'Tag', 'coastline');%hold off%zoomsafe 0%set([gca h], 'ButtonDownFcn', theButtonDownFcn)%switch theProjection%case 'none'%	xlabel('Longitude')%	ylabel('Latitude')%otherwise%	xlabel('X')%	ylabel('Y')%	title([theProjection ' Projection'])%end%%self = doupdate(self);%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "getsliders.m" (text)')fout = fopen('getsliders.m', 'w');%function theResult = getsliders(self)%%% seagrid/getsliders -- Get slider count.%%  getsliders(self) invokes a dialog to get the%%   number of sliders along edges #1 and #2.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 03-Aug-1999 10:37:40.%% Updated    10-Jan-2000 16:47:03.%%if nargin < 1, help(mfilename), return, end%%theGridSize = psget(self, 'itsGridSize');%%p = psget(self, 'itsSpacings');%q = psget(self, 'itsDefaultSpacings');%%if isempty(p)%	p = cell(1, length(theGridSize));%	for k = 1:length(theGridSize)%		p{k} = linspace(0, 1, theGridSize(k));%	end%	psset(self, 'itsSpacings', p)%end%%if isempty(q)%	q = {'s', 's', 0};%	psset(self, 'itsDefaultSpacings', q)%end%%d.Spacings_Edge_1 = q{1};   % uigetinfo dialog structure.%d.Spacings_Edge_2 = q{2};%d.Density_Flag = {'checkbox', q{3}};%SeaGrid_Spacing_Setup = d;%%if (0)%%	reply = uigetinfo(SeaGrid_Spacing_Setup);%else%	reply = guido(SeaGrid_Spacing_Setup);%end%%% If the Density_Flag is checked, then we will have%%  to integrate and normalize the given expressions.%%  The flexibility is needed because some direct%%  distributions might not be easilty expressable.%%  *** Not yet done. ***%%if ~isempty(reply)%	q{1} = getinfo(reply, 'Spacings_Edge_1');%	q{2} = getinfo(reply, 'Spacings_Edge_2');%	q{3} = getinfo(reply, 'Density_Flag');%	psset(self, 'itsDefaultSpacings', q);%	for k = 1:2%		s = linspace(0, 1, length(p{k}));%		if ~isempty(q{k})%			bad = 0;%			eval(['s = ' q{k} ';'], 'bad = 1;');%			if bad%				disp([' ## Unable to evaluate: ' q{k}])%			end%			s = sort(s);%			s = s - min(s); s = s / max(s);%		end%		p{k} = s;%	end%	psset(self, 'itsSpacings', p)%	update(self, 1)%end%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "getspacers.m" (text)')fout = fopen('getspacers.m', 'w');%function theResult = getspacers(self, theSpacerCounts)%%% seagrid/getspacers -- Get spacer counts.%%  getspacers(self, [theSpacerCounts]) sets the%%   spacer-counts directly.%%  getspacers(self) invokes a dialog to get the%%   number of spacers along edges #1 and #2.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 03-Aug-1999 10:37:40.%% Updated    11-Apr-2002 11:20:08.%%if nargin < 1, help(mfilename), return, end%%theGridSize = psget(self, 'itsGridSize');%%if nargin < 2%	theSpacerCounts = psget(self, 'itsSpacerCounts');%end%%if isempty(theSpacerCounts)%	theSpacerCounts = [5 5];%end%%d.Spacers_Edge_1 = theSpacerCounts(1);   % uigetinfo dialog structure.%d.Spacers_Edge_2 = theSpacerCounts(2);%SeaGrid_Spacer_Setup = d;%%if (0)%	reply = SeaGrid_Spacer_Setup;%else%	reply = guido(SeaGrid_Spacer_Setup);%end%%if ~isempty(reply)%	theSpacerCounts(1) = getinfo(reply, 'Spacers_Edge_1');%	theSpacerCounts(2) = getinfo(reply, 'Spacers_Edge_2');%	theSpacerCounts = max(theSpacerCounts, 1);%	psset(self, 'itsSpacerCounts', theSpacerCounts)%	doupdate(self, 1)%end%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "getspacings.m" (text)')fout = fopen('getspacings.m', 'w');%function theResult = getspacings(self, theSpacings, theActiveEdges)%%% seagrid/getspacings -- Get default spacings.%%  getspacings(self, {theSpacings}, [theActiveEdges])%%   sets the spacings directly.%%  getspacings(self) invokes a dialog to get functions%%   of 's' that describe the default positions of grid%%   lines along edges #1 and #2, on behalf of self, a%%   "seagrid" object.  The functions are "evaled", using%%   vector s = linspace(0, 1, N), where N is the number%%   of points along the respective edge.  Thus, 's' alone%%   will provide a uniform spacing; 's.^2' will produce%%   quadratic spacing, i.e., a linearly-decreasing%%   density of grid lines; etc.  Note that the function%%   should use scalar operators.  The result will be%%   sorted and normalized to fit the range [0..1].%%%%   Since the result is sorted, the spacing functions%%   need not be monotonically increasing over its range.%%%%   If the entry is a vector of values, it will be%%   treated as a set of uniformly distributed density%%   "way-points", to be passed to the "pdfinv" routine.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 03-Aug-1999 10:37:40.%% Updated    25-Apr-2002 16:54:10.%%if nargout > 0, theResult = self; end%if nargin < 1, help(mfilename), return, end%%theGridSize = psget(self, 'itsGridSize');%%p = psget(self, 'itsSpacings');%q = psget(self, 'itsDefaultSpacings');%e = psget(self, 'itsSpacedEdges');%%if isempty(p)%	p = cell(1, length(theGridSize));%	for k = 1:length(theGridSize)%		p{k} = linspace(0, 1, theGridSize(k)+1);%	end%	psset(self, 'itsSpacings', p)%end%%if nargin > 1%	q = theSpacings;%	psset(self, 'itsDefaultSpacings', q)%end%%if isempty(q)%	q = {'s', 's', 0};%	psset(self, 'itsDefaultSpacings', q)%end%%if nargin > 2%	e = theActiveEdges;%end%%if isempty(e), e = [1 2]; end%selector = (e == [1 2]);%selector(~selector) = 2;%%d.Spacings_Edge_A = q{1};   % uigetinfo dialog structure.%d.Select_Edge_A = {{1, 3}, selector(1)};%d.Spacings_Edge_B = q{2};%d.Select_Edge_B = {{2, 4}, selector(2)};%% d.Density_Flag = {'checkbox', q{3}};%	%SeaGrid_Spacing_Setup = d;%%if nargin > 1   % Bypass the dialog.%	reply = SeaGrid_Spacing_Setup;%else   % Invoke the dialog.%	reply = guido(SeaGrid_Spacing_Setup);%end%%% If a spacing looks like a double or '[...]',%%  we treat it as a density and call "pdfinv".%%if ~isempty(reply)%	q{1} = getinfo(reply, 'Spacings_Edge_A');%	q{2} = getinfo(reply, 'Spacings_Edge_B');%	q{3} = getinfo(reply, 'Density_Flag');   % Ignore.%	if isempty(q{3}), q{3} = 0; end%	for i = 1:2%		if isequal(class(q{i}), 'double')%			q{i} = mat2str(q{i});%		end%		if isempty(q{i})%			q{i} = 's';%		elseif q{i}(1) == '[' & q{i}(end) == ']'%			q{i} = ['pdfinv(' q{i} ', s)'];%		end%	end%	psset(self, 'itsDefaultSpacings', q);%	e(1) = getinfo(reply, 'Select_Edge_A');%	e(2) = getinfo(reply, 'Select_Edge_B');%	psset(self, 'itsSpacedEdges', e)%	for k = 1:2%		s = linspace(0, 1, length(p{k}));%		if ~isempty(q{k})%			bad = 0;%			eval(['s = ' q{k} ';'], 'bad = 1;');%			if bad%				disp([' ## Unable to evaluate: ' q{k}])%			end%			s = sort(s);%			s = s - min(s); s = s / max(s);%		end%		p{k} = s;%	end%	psset(self, 'itsSpacings', p)%	doupdate(self, 1)%end%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "gridcalc.m" (text)')fout = fopen('gridcalc.m', 'w');%function theResult = gridcalc(self)%%% gridcalc -- Calculate the basic grid for "seagrid".%%  gridcalc(self) calculates the grid for self, a%%   "seagrid" object.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 19-May-1999 05:55:33.%% Updated    14-Oct-1999 16:38:11.%%if nargout > 0, theResult = self; end%if nargin < 1, help(mfilename), return, end%%thePoints = psget(self, 'itsPoints');%theCornerTag = psget(self, 'itsCornerTag');%theGridSize = psget(self, 'itsGridSize');%theEndSlopeFlag = psget(self, 'itsEndSlopeFlag');%theInterpFcn = psget(self, 'itsInterpFcn');%theInterpMethod = psget(self, 'itsInterpMethod');%useMexFile = psget(self, 'itUsesMexFile');%%% Check for Macintosh; no mex-files yet.%%c = computer;%isMac = isequal(lower(c(1:3)), 'mac');%useMexFile = (useMexFile & ~isMac);%%x = zeros(1, length(thePoints));%y = zeros(1, length(thePoints));%%if min(size(thePoints)) == 1%	theCorners = [];%	for k = 1:length(thePoints)%		h = thePoints(k);%		x(k) = get(h, 'XData');%		y(k) = get(h, 'YData');%		theTag = get(h, 'Tag');%		if isequal(theTag, theCornerTag)%			theCorners = [theCorners k];%		end%	end%else%	x = thePoints(:, 1); x = x(:).';%	y = thePoints(:, 2); y = y(:).';%	t = thePoints(:, 3); t = t(:).';%	theCorners = find(t);%end%%z = x + sqrt(-1)*y;%%% Do gridding along splines.  The independent%%  variable is index-number, rather than distance%%  along the curve.  Iterated splines based on the%%  latter are not asymptotically stable.%%xtemp = x;%xtemp(end+1) = xtemp(1);%ytemp = y;%ytemp(end+1) = ytemp(1);%ztemp = xtemp + sqrt(-1)*ytemp;%ctemp = theCorners;%ctemp(end+1) = length(xtemp);%% m = theGridSize(1);%% n = theGridSize(2);%m = theGridSize(1)+1;%n = theGridSize(2)+1;%count = [m n m n];%%theSpacings = psget(self, 'itsSpacings');%if isempty(theSpacings)%	theSpacings{1} = linspace(0, 1, m);%	theSpacings{2} = linspace(0, 1, n);%	psset(self, 'itsSpacings', theSpacings)   % <== Note.%end%%theSpacedEdges = psget(self, 'itsSpacedEdges');%s1 = theSpacings{1};%s2 = theSpacings{2};%if theSpacedEdges(1) == 3%	s1 = 1 - s1(end:-1:1);%end%if theSpacedEdges(2) == 4%	s2 = 1 - s2(end:-1:1);%end%%zti = [];%%for k = 1:4%	cti = linspace(ctemp(k), ctemp(k+1), count(k));%	if useMexFile%		switch k%		case 1%			s = s1;%		case 2%			s = s2;%		case 3%			s = s1;%			s = 1 - s(end:-1:1);%		case 4%			s = s2;%			s = 1 - s(end:-1:1);%		otherwise%			error([' ## Bad switch index: k = ' int2str(k)])%		end%		cti = ctemp(k) + s * (ctemp(k+1) - ctemp(k));%	end%	%	cti = cti - min(cti);%	cti = cti / max(cti);%	%	ct = ctemp(k):ctemp(k+1);%	ct = ct - min(ct);%	ct = ct / max(ct);%	%	zt = ztemp(ctemp(k):ctemp(k+1));%	%	pptemp = feval(theInterpFcn, ct(:), zt(:), cti, theInterpMethod);%	%	dist = [0; cumsum(abs(diff(pptemp)))];%	dist = dist - min(dist);%	dist = dist / max(dist);%	%	pptemp = feval(theInterpFcn, dist, pptemp, cti, theInterpMethod);%	pptemp(end) = [];%%	zti = [zti pptemp(:).'];   % Concession to Unix Matlab.%end%%ci = cumsum([1 m-1 n-1 m-1]);%%% Roll to activate edges 3 and/or 4.%%theSpacedEdges = psget(self, 'itsSpacedEdges');%if isempty(theSpacedEdges)%	theSpacedEdges = [1 2];%	psset(self, 'itsSpacedEdges', theSpacedEdges)%end%%theRoll = 0;%switch theSpacedEdges(1)%case 1%	switch theSpacedEdges(2)%	case 2%		theRoll = 0;%	case 4%		theRoll = 3;%	end%case 3%	switch theSpacedEdges(2)%	case 2%		theRoll = 1;%	case 4%		theRoll = 2;%	end%end%%isCorner = zeros(size(zti));%isCorner(ci) = 1;%for i = 1:theRoll%	f = find(isCorner);%	f = f(2);%	zti = [zti(f:end) zti(1:f-1)];%	isCorner = [isCorner(f:end) isCorner(1:f-1)];%	temp = m;%	m = n;%	n = temp;%end%ci = find(isCorner);%%% Compute the grid.%%theFcn = 'rect2grid';%if useMexFile, theFcn = 'mexrect2grid'; end%%% Rearrange if is not counter-clockwise boundary.%%  (Disabled.)%%wasCCW = isccw(zti);%if ~wasCCW & 0%    temp = zeros(size(zti));%    temp(ci) = 1;%    temp = temp(end:-1:1);%    ci = find(temp);%    zti = zti(end:-1:1);%end%%[w, err] = feval(theFcn, zti, [], ci, [m n]);   % <===%%% Schwartz-Christoffel Toolbox Calls%%if (0) & length(thePoints) > 4%	hello SC Toolbox calls%    thePoints%	oldGCF = gcf;%    zti, ci%	p = polygon(zti);%	r = rectmap(p, ci);%	theName = 'Schwartz-Christoffel Toolbox'%	f = findobj('Type', 'figure', ...%        'Name', theName);%	if ~any(f)%        f = figure('Name', theName);%	end%	figure(f(1))%	% plot(r)%	figure(oldGCF)%end%%% Rearrange if was not counter-clockwise boundary.%%  (Disabled.)%%if ~wasCCW & 0%    w = w(end:-1:1);%end%%if (0)%	disp([' ## ' mfilename])%	gridcalc_laplacians = err;%	disp([' ## gridcalc_laplacians = ' num2str(err)])%end   % Laplacian error-norm.%%% Roll back to original orientation.%%for i = 1:theRoll%	w = flipud(w.');%end%%theGrids = {real(w), imag(w)};%%psset(self, 'itsGrids', theGrids)%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "help_about.m" (text)')fout = fopen('help_about.m', 'w');%function help_about(self, varargin)%%%    SeaGrid provides a graphical user interface for constructing%% a one-layer, orthogonal, curvilinear, geographic grid, which%% is flat on the top and bathymetrically controlled on the bottom.%%%%    Information on various SeaGrid topics is available in the%% "Help" menu.%%%%    Designed and programmed by Chuck Denham, with the assistance%% of Rich Signell (author of "cgridgen"), John Evans (author of%% "gridgen"), Courtney Harris, Rob Hetland, Jason Hyatt.%%% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.%%% Version of 03-Jun-1999 22:20:01.%% Updated    23-Dec-1999 09:19:25.%%seagrid_helpdlg(help(mfilename), 'About SeaGrid')fclose(fout);disp(' ## Installing: "help_bugs.m" (text)')fout = fopen('help_bugs.m', 'w');%function help_bugs(self)%%% 1. Load: Coastline input must preceed bathymetry.%% 2. Color: Colors may clash, due to the "xor" drawing%%       mode used in SeaGrid.  Selecting "View/Refresh"%%       may improve the appearance.%% 3. Mask: An empty mask may not show its grid-lines.%% 4. Pixels: Dots occasionally get orphaned.  Use%%       "View/Refresh" to redraw.%% 5. Macintosh: Grids are interpolated from a Fourier-%%       Poisson solution for uniform grid-lines, causing%%       some grid crossings to deviate from othogonality.%% 6. Unix: Matlab GUI behaviors are buggy in Unix.  The%%       "rubber-rectangle" will be invisible when doing%%       zooming with a click/drag motion.  The "tab" key%%       will not work for walking through dialogs.  Menu%%       accelerator-keys often fail to perform.%% 7. WinDoze: Modal dialogs sometimes do not lay-out%%       cleanly.%%% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.%%% Version of 03-Jun-1999 22:20:01.%% Updated    07-Mar-2000 22:54:26.%%seagrid_helpdlg(help(mfilename), 'Known Bugs/Features In SeaGrid')fclose(fout);disp(' ## Installing: "help_depths.m" (text)')fout = fopen('help_depths.m', 'w');%function help_depths(self)%%%    Select the "Compute/Grid Depths" menu item to compute and display%% depths for the grid-cell centers from the current bathymetry%% and coastline data.  Cells on land, plus those for which no%% depth can be determined, are displayed transparently.%% The state of the mask can be toggled with mouse button #1.%% While the "Compute/Grid Depths" item is active, the depths are%% recomputed automatically whenever the grid geometry changes.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 17-Jun-1999 16:42:56.%% Updated    06-Jul-2000 14:17:19.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Depths')fclose(fout);disp(' ## Installing: "help_ecom.m" (text)')fout = fopen('help_ecom.m', 'w');%function help_ecom(self)%%%    To produce an "ECOM" file from a saved "SeaGrid" file,%% run the function "seagrid2ecom".  See "help seagrid2ecom"%% for details.%%% seagrid/help_ecom% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 18-Jun-1999 17:03:54.%%seagrid_helpdlg(help(mfilename), 'Convert SeaGrid To Ecom')fclose(fout);disp(' ## Installing: "help_future.m" (text)')fout = fopen('help_future.m', 'w');%function help_future(self)%%%    We intend for SeaGrid to be based solely on portable%% Matlab-5 m-files, independent of MathWorks toolboxes, and%% without any mex-files derived from lower-level languages.%% Presently, depending on the computer, three mex-files may%% be used, known as "mexrect", "mexsepeli", and "mexinside".%% The first can be replaced by "rect.m", and the third by%% "insidesafe.m".  The second can be inexactly mimicked by%% "fps.m", but an exact replacement will require additional%% work.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    09-Jun-1999 08:10:11.%%seagrid_helpdlg(help(mfilename), 'Future of SeaGrid Software')fclose(fout);disp(' ## Installing: "help_general.m" (text)')fout = fopen('help_general.m', 'w');%function help_general(self)%%%    SeaGrid uses menus and mouse actions to guide the creation%% of an orthogonal gridwork suitable for oceanographic modeling.%% The "SeaGrid" menu controls input/output, while the "View"%% menu provides choices on presentation.  The "View/Setup" dialog%% is the main interface for determining the resolution of the grid.%% The "zoomsafe" facility is invoked for zooming and panning the%% graphics.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    26-May-1999 09:45:58.%%seagrid_helpdlg(help(mfilename), 'General Features of SeaGrid')fclose(fout);disp(' ## Installing: "help_help.m" (text)')fout = fopen('help_help.m', 'w');%function help_help%%%    Help for SeaGrid is available in the "Help" menu, where%% various topics can be selected.%%    The "Help/Help" menu item invokes a dialog box that lists%% all the available help.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 23-Dec-1999 09:14:39.%% Updated    23-Dec-1999 09:14:39.%%seagrid_helpdlg(help(mfilename), 'SeGrid Help')fclose(fout);disp(' ## Installing: "help_io.m" (text)')fout = fopen('help_io.m', 'w');%function help_io(self)%%%    Coastline data consist of counter-clockwise closed contours,%% separated by NaNs. The geographic positions must be stored in a%% Matlab mat-file, using the variable names "lon" and "lat", in degrees.%% The current coastline data can be replaced at any time, using the%% "SeaGrid/Load/Coastline" menu item.%%%%    Bathymetric data consist of arrays of points, stored in a mat-file%% under the names "xbathy", "ybathy", and "zbathy", corresponding to%% longitude, latitude (both degrees), and positive depth (arbitrary%% units), respectively.  The current bathymetric data can be replaced%% at any time, using "SeaGrid/Load/Bathymetry".%%%%    The current SeaGrid gridwork can be saved to a mat-file, using the%% "SeaGrid/Save" or "SeaGrid/Save As" menu item, then later retrieved%% with "Seagrid/Load" or "SeaGrid/Revert To Saved".  The grid and its%% associated data are stored in a Matlab "struct" named "s".  For an%% M-by-N grid, the grid-corners occupy an (M+1)-by-(N+1) array, while%% the gridded bathymetry and mask are stored as M-by-N arrays,%% corresponding to the grid-cell centers.%% %%%%    To convert a SeaGrid file to Ecom or Scrum format, use the%% "seagrid2ecom" or "seagrid2scrum" routines.  See their respective%% "help" entries.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    03-Apr-2000 11:50:02.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Input/Output')fclose(fout);disp(' ## Installing: "help_loading.m" (text)')fout = fopen('help_loading.m', 'w');%function help_loading(self)%%%    Coastline data consist of counter-clockwise closed contours,%% separated by NaNs. The geographic positions must be stored in a%% Matlab mat-file, using the variable names "lon" and "lat", in degrees.%% The current coastline data can be replaced at any time, using the%% "SeaGrid/Load/Coastline" menu item.%%%%    Bathymetric data consist of arrays of points, stored as three%% columns in an ASCII file, or stored in a mat-file as variables%% "xbathy", "ybathy", and "zbathy", corresponding to longitude,%% latitude (both degrees), and positive depth (arbitrary units),%% respectively.  The current bathymetric data can be replaced%% at any time, using "SeaGrid/Load/Bathymetry".%%%%    Boundary data can be loaded from a three-column ASCII file of%% of [lon lat isCorner], where isCorner is 1 for each corner and%% 0 for all others.  A corner-point must be the first element in%% the file.  Do NOT repeat the first point at the end.%%% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    04-Apr-2000 11:10:41.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Loading')fclose(fout);disp(' ## Installing: "help_masking.m" (text)')fout = fopen('help_masking.m', 'w');%function help_masking(self)%%%    Select the "Compute/Land Mask" menu item to compute%% and display the land-mask for the grid-cell centers, using%% the current coastline data.  Cells on land are displayed%% transparently.  The state of the mask can be toggled with%% mouse button #1.  While the "Compute/Land Mask" item is%% active, the mask is recomputed automatically whenever%% the grid geometry changes.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 17-Jun-1999 16:42:56.%% Updated    17-Aug-2000 10:53:59.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Masking')fclose(fout);disp(' ## Installing: "help_math.m" (text)')fout = fopen('help_math.m', 'w');%function help_math(self)%%%    Starting with an irregular physical boundary on a conformal%% (angle-preserving) projection, such as Mercator, SeaGrid maps it%% to a rectangle, using the conformal "wire-straightening" scheme%% of Ives and Zacharias (1987).  The X coordinates of the former%% are then distributed around the perimeter of the latter.  The%% interior of the rectangle is filled by a fast Poisson solver.%% The process is repeated independently for the Y coordinate.%%    The bathymetry is gridded at the cell-centers, using the Matlab%% "griddata" routine.  The mask is computed at the cell-centers: a%%  cell is considered to be fully on-land if its center is on-land.%%%%    Reference: David C. Ives and Robert M. Zacharias, Conformal%% Mapping and Orthogonal Grid Generation (Paper No. AA-87-2057),%% AIAA/SAE/ASME/ASEE 23rd Joint Propulsion Conference, San Diego,%% California, June 29-July 2,1987.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    09-Jun-1999 08:53:39.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Mathematics')fclose(fout);disp(' ## Installing: "help_menus.m" (text)')fout = fopen('help_menus.m', 'w');%function help_menus(self)%%% SeaGrid Menu Layout%%    (Accelerator keys shown in parentheses)%%%% <SeaGrid>%%    About SeaGrid...        	Purpose and authorship.%%    New...                  	New SeaGrid window.%%    Load...                 	Load data files.%%       Coastline File...       Load (lon, lat) coastline data.%%       Bathymetry File...      Load (lon, lat, depth) data.%%       Boundary File...        Load (lon, lat, isCorner) data.%%       SeaGrid File...         Load grid from "SeaGrid" file.%%    Save                    	Save grid to current SeaGrid file.%%    Save As...              	Save grid to new SeaGrid file.%%    Revert To Saved         	Revert to last saved SeaGrid file.%%    Print...                	Print SeaGrid figure.%%    Quit                    	Quit SeaGrid window.%%%% <View>%%    Setup... (')               Dialog for SeaGrid parameters.%%    Control Points          	Show draggable boundary points.%%    Roll                    	Roll principle corner CCW.%%    Spacers                 	Show draggers for grid spacing.%%    Spacer Count...         	Adjust number of spacers.%%    Spacing Setup...        	Set default spacing algorithm.%%    Axes Equal (=)             Aspect ratio = 1.%%    Margin (-)                 Make small margin.%%    Zoom In ([)                Zoom map in x2.%%    Zoom Out (])               Zoom map out x2.%%    No Zoom (\)                Size map to fill figure.%%    Map Units               	Set map label units.%%       Degrees                 Degrees.%%       Kilometers              Kilometers.%%       Projected               Raw projected units.%%    Show/Hide               	Toggle visibility.%%       Coastline               Toggle coastline.%%       Bathymetry              Toggle bathymetry points.%%       Graticule (G)           Toggle map graticule.%%       MenuBar (M)             Toggle Matlab menubar.%%    Details                 	Display SeaGrid properties.%%    Refresh                    Redraw without recomputation.%%    Update (U)                 Full computational update.%%%% <Compute>%%    Depths And Auto-Mask		Depth and automatic land-mask.%%    Depths                     Depths only.%%    Auto-Mask                  Automatic land-mask only.%%    Erase Mask              	Clear land mask.%%    Orthogonality           	Show orthogonality error.%%%% <Help>%%    Help...                    Dialog for scrollable help.%%    Bugs                       Known bugs and features.%%    Convert To Ecom...         SeaGrid format --> ECOM format.%%    Convert To Scrum...        SeaGrid format --> SCRUM format.%%    Depths Display...          Bathymetry gridding and masking.%%    Future Work...             To do.%%    General...                 General remarks.%%    Getting Started...         Easy startup.%%    Loading...                 Load data and grids.%%    Mathematics...             Algorithm.%%    Masking...                 Land masking.%%    Menus...                   Menu layout.%%    Orthogonality Display...   Angular errors in grid.%%    Points...                  Manipulate control points.%%    Private...                 Private functions.%%    Projection...              Select map projection.%%    Save...                    Save grid to file.%%    Setup Dialog...            Dialog for major parameters.%%    Spacing...                 Manipulate grid spacing.%%    Units...                   Map units.%%    Updating...                Fully update the grid.%%    Version...                 Version of this program.%%    Zooming...                 Zoom via mouse clicks.%%    Warranty...                Caveat emptor.%%    WWW Home Page...           Go to SeaGrid WWW Hole Page.%%% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 04-Jan-2000 09:26:06.%% Updated    17-Aug-2000 10:53:59.%%hint(help(mfilename), 'SeaGrid Menus')fclose(fout);disp(' ## Installing: "help_orthogonality.m" (text)')fout = fopen('help_orthogonality.m', 'w');%function help_orthogonality(self)%%%    The orthogonality of the current grid is available%% for display through the "View/Orthogonality" menu item.%% The orthogonality is here defined as the maximum deviation%% from 90 degrees of the angles that surround each grid-point,%% Ignoring the corner-points.  To hide the display, select%% the "View/Orthogonality" again.%%    The orthogonality will appear better for smaller grid cells,%% since the calculations are based on straight lines.  Also,%% the orthogonality is better for grids generated by Mex-files.%%% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    23-Dec-1999 09:47:23.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Orthogonality')fclose(fout);disp(' ## Installing: "help_points.m" (text)')fout = fopen('help_points.m', 'w');%function help_points(self)%%%    Use the "View" menu to highlight either the "Control Points"%% or the "Spacers".  The corner-points can be rolled to bring%% a particular starting corner (*) and its counter-clockwise%% neighbor into prominance.  The grid-line spacings can be%% reverted to uniform density along the two prominant%% edges, using the "View/Spacing Setup" menu item.%%%%    To add a draggable control-point, use button #1 on the%% grid boundary. To delete a control-point, use button #3.%%%%    Spacers along the grid boundary are used for fine-tuning%% the densities and positions of grid-lines.  Clicking button #1%% on a spacer increases the local grid-line density; clicking%% button #2 causes a decrease.  The adjustment factor can be%% set in the "View/Setup" dialog.  No grid lines are added.%% To move a grid-line manually within its neighborhood, drag%% with button #3.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    27-Sep-1999 10:59:41.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Control Points')fclose(fout);disp(' ## Installing: "help_private.m" (text)')fout = fopen('help_private.m', 'w');%function help_private(self)%%%%    The "Presto" toolbox used by Seagrid is considered%% "private".  Its interface and behavior is subject to%% change at any time.  Users must neither alter it, nor%% adapt it in any fashion to other software outside the %% SeaGrid realm.%%% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.%%% Version of 03-Jun-1999 22:20:01.%% Updated    23-Dec-1999 09:58:23.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Private Toolboxes')fclose(fout);disp(' ## Installing: "help_projection.m" (text)')fout = fopen('help_projection.m', 'w');%function help_projection(self)%%%    SeaGrid offers "Mercator" (default) and "Stereographic"%% conformal mapings, of which the Mercator projection looks%% the best here.  The SeaGrid "Setup" dialog allows the%% projection, center-of-projection, and geographic bounds to%% be set.  These default to the "Mercator" projection, centered%% at (longitude, latitude, rotation-angle) = (0, 0, 0) degrees,%% with no fixed bounds.%%    The "Transverse Mercator" projection can be computed%% from the "Mercator" mapping, using a center-of-projection%% of (LON, 0, 90), where LON is the desired central-longitude,%% in degrees.%%    The "Lambert Equal Area" projection is not conformal,%% but is useful for comparing the relative areas of adjacent%% grid cells.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 28-Dec-1999 11:00:24.%% Updated    28-Dec-1999 17:30:29.%%helpdlg(help(mfilename), 'SeaGrid Projection')fclose(fout);disp(' ## Installing: "help_roms.m" (text)')fout = fopen('help_roms.m', 'w');%function help_roms(self)%%%    To produce an "ROMS" file from a saved "SeaGrid" file,%% run the function "seagrid2roms".  See "help seagrid2roms"%% for details.%%% seagrid/help_roms% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 18-Jun-1999 17:03:54.%%seagrid_helpdlg(help(mfilename), 'Convert SeaGrid To ROMS')fclose(fout);disp(' ## Installing: "help_saving.m" (text)')fout = fopen('help_saving.m', 'w');%function help_saving(self)%%%%    The current SeaGrid gridwork can be saved to a mat-file, using the%% "SeaGrid/Save" or "SeaGrid/Save As" menu item, then later retrieved%% with "Seagrid/Load" or "SeaGrid/Revert To Saved".  The grid and its%% associated data are stored in a Matlab "struct" named "s".  For an%% M-by-N grid, the grid-corners occupy an (M+1)-by-(N+1) array, while%% the gridded bathymetry and mask are stored as M-by-N arrays,%% corresponding to the grid-cell centers.  Such a saved file can%% be loaded back into SeaGrid.%%%%    To convert a SeaGrid file to Ecom or Scrum format, use the%% "seagrid2ecom" or "seagrid2scrum" routines.  See their respective%% "help" entries.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    03-Apr-2000 11:42:41.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Saving')fclose(fout);disp(' ## Installing: "help_setup_dialog.m" (text)')fout = fopen('help_setup_dialog.m', 'w');%function help_setup_dialog(self)%%%    The SeaGrid "Setup" dialog can be displayed by%% selecting the "View/Setup..." menu item.  The dialog%% offers selectors for the map projection (default =%% "Mercator"); geographic bounds (optional; %% defaults = []); the number of cells along edges #1%% and #2 of the grid (defaults = 10); the depth range%% (defaults = [0 Inf]); the end-condition for the cubic%% splines that are used throughout SeaGrid (default =%% "end-slope flag on"); and whether or not to invoke%% Mex-files (default = "yes").%%    SeaGrid always performs a full update whenever%% the dialog is accepted via its "Okay" button.  No%% update is performed if the dialog is dismissed via%% its 'Cancel" button or "go-away" box.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 27-Dec-1999 06:42:00.%% Updated    27-Dec-1999 06:42:00.%%helpdlg(help(mfilename), 'SeaGrid Setup Dialog')fclose(fout);disp(' ## Installing: "help_spacing.m" (text)')fout = fopen('help_spacing.m', 'w');%function help_spacing(self)%%%    Small buttons called "spacers" along the edge of the SeaGrid%% boundary allow the grid-lines to be rearranged smoothly.  To see%% the spacers, use the "View/Spacers" menu item.  By dragging the%% spacers closer together, using mouse Button #1, the intervening%% grid lines themselves can be brought closer together.  To drag%% a spacer without forcing a full update of the window, use Button%% #2.  (Note: when lines are very closely spaced, they may disappear%% from the drawing, because of the "xor" drawing mode.  They do not,%% however, disappear from the computed grid.)%%    The number of spacers is controlled by the "View/Spacer Count"%% dialog.  Initially, there are five spacers along the two principal%% edges of the grid.%%    To restore the default spacing, use the "View/Default Spacing..."%% menu item to display the corresponding dialog.  The spacings%% along the two principal edges are entered as functions of "s",%% which uniformly spans the range of [0:1]. The dialog also permits%% the spacers to be moved to the opposite side of the grid.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    04-Feb-2000 16:37:42.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Spacing')fclose(fout);disp(' ## Installing: "help_start.m" (text)')fout = fopen('help_start.m', 'w');%function help_start(self)%%% [> PROJECTION <] -- Use "View/Setup" to select a projection.%% [> COASTLINE <] -- Use "SeaGrid/Load" to load a Mat-file containing%%      "lon" and "lat" variables. (Optional)%% [> BATHYMETRY <] -- Use "SeaGrid/Load" to load a Mat-file containing%%      "xbathy", "ybathy", and "zbathy" variables (longitude, latitude,%%      and positive depth, respectively).  (Optional)%% [> CORNERS <] -- Click with button #1 on four locations in counter%%      clockwise sequence to initialize the four corner-points of the%%      boundary.%% [> EDGES <] -- Click and drag with button #1 on any edge to insert%%      and move a new control-point.%% [> DRAG <] -- Drag with button #1 on a control-point to move it.%% [> DELETE <] -- Click button #3 on a control-point to delete it.%% [> DENSITY <] -- Use button #1 (button #2) on spacer-point to%%      increase (decrease) local grid cell density.  Drag with button%%      #3 to reposition a grid-line.%% [> ZOOM <] -- Click elsewhere to invoke "zoomsafe" action.% %% seagrid/help_start%%% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 16-Apr-1999 07:40:25.%% Updated    28-Dec-1999 18:11:56.%%seagrid_helpdlg(help(mfilename), 'Getting Started With SeaGrid')fclose(fout);disp(' ## Installing: "help_units.m" (text)')fout = fopen('help_units.m', 'w');%function help_units(self)%%%    The units of the map display ("Degrees", "Kilometers",%% or "Projected") can be selected with the "View/Map Units"%% menu.  On startup, the units are "Degrees".% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 02-Aug-1999 15:17:11.%% Updated    22-Sep-1999 08:58:51.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Map Units')fclose(fout);disp(' ## Installing: "help_updating.m" (text)')fout = fopen('help_updating.m', 'w');%function help_updating(self)%%%    Use the "View/Update" menu item to force SeaGrid%% to perform a complete updating of the calculations%% and graphics.  SeaGrid ordinarily  updates itself%% automatically, but a manual update may be useful%% occassionaly.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    09-Jun-1999 08:32:19.%%seagrid_helpdlg(help(mfilename), 'Updating The SeaGrid Display')fclose(fout);disp(' ## Installing: "help_warranty.m" (text)')fout = fopen('help_warranty.m', 'w');%function help_warranty(self)%%%%    The SeaGrid software, an educational work-in-progress,%% is made available without warranty or promise for remedy%% of any kind, either expressed or implied.  Do not use the%% software in any purpose or situation where unexplained,%% unexpected, misunderstood, faulty, or other algorithmic%% behavior could possibly endanger life, health, liberty,%% property, or self-esteem.%%% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.%%% Version of 03-Jun-1999 22:20:01.%% Updated    09-Jun-1999 09:04:35.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Warranty')fclose(fout);disp(' ## Installing: "help_zooming.m" (text)')fout = fopen('help_zooming.m', 'w');%function help_zooming(self)%%%    The SeaGrid window uses "zoomsafe" for zooming and%% panning.  Click in white-space or on inactive objects%% to zoom.  To invoke a rubber-rectangle, drag while the%% mouse button is down.  Existing callbacks in graphical%% objects take precedence.  Zooming temporarily overrides %% any geographic bounds that have been set manually.%%%%   Button #1      Zoom in, centered on click or rectangle.%%   Button #2      Zoom out, centered on click or rectangle.%%   Button #3      Center on click or rectangle without zooming.%%   Double-click   Zoom fully out.%%%%   See "help zoomsafe" for more information.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 25-May-1999 16:27:20.%% Updated    27-Dec-1999 07:04:38.%%seagrid_helpdlg(help(mfilename), 'SeaGrid Zooming')fclose(fout);disp(' ## Installing: "initialize.m" (text)')fout = fopen('initialize.m', 'w');%function theResult = initialize(self, varargin)%%% seagrid/initialize -- Initialization of "seagrid".%%  initialize(self, ...) initializes self, a "seagrid" object,%%   with the name/value pairs given in the argument-list.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Apr-1999 15:47:38.%% Updated    03-Jun-1999 17:24:28.%%if nargin < 1, help(mfilename), return, end%%for i = 2:2:length(varargin)%	self = psset(self, varargin{i-1}, varargin{i})%end%%theProjection = psget(self, 'itsProjection');%m_proj(theProjection)%%getboundary(self)%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "loadboundary.m" (text)')fout = fopen('loadboundary.m', 'w');%function theResult = loadboundary(self, theBoundaryFile)%%% seagrid/loadboundary -- Load a boundary file.%%  loadboundary(self, 'theBoundaryFile') loads the given%%   ascii boundary file on behalf of self, a "seagrid"%%   object.  The three-columns contain [lon lat corner],%%   where "corner" = 1 for a corner-point; 0 otherwise.% %% Copyright (C) 2002 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 11-Apr-2002 10:16:42.%% Updated    07-Oct-2002 14:47:34.%%if nargout > 0, theResult = self; end%%if nargin < 1, help(mfilename), return, end%if nargin < 2 | isempty(theBoundaryFile), theBoundaryFile = '*'; end%%if any(theBoundaryFile == '*')%	theFilterSpec = theBoundaryFile;%	[theFile, thePath] = uigetfile(theFilterSpec, 'Select a Boundary File:');%	if ~any(theFile), return, end%	if thePath(end) ~= filesep, thePath = [thePath filesep]; end%	theBoundaryFile = [thePath theFile];%end%%self = psset(self, 'itsBoundaryFile', theBoundaryFile);%thePoints = load(theBoundaryFile, '-ascii');%%if size(thePoints, 2) < 3%	disp(' Boundary file requires 3 columns [lon lat corner].')%	return%end%%if sum(thePoints(:, 3)) ~= 4%	disp(' ## Boundary requires exactly 4 marked corners.')%	return%end%%lon = thePoints(:,1); lat = thePoints(:,2);%    %theProjection = psget(self, 'itsProjection');%switch lower(theProjection)   % Needs cleaning up.%case {'none', 'geographic'}%	theProjection = 'Geographic';%	x = lon; y = lat;%otherwise%	sg_proj(theProjection)%	[x, y] = sg_ll2xy(lon, lat);%	x = real(x);%	y = real(y);%end%thePoints(:,1) = x; thePoints(:,2) = y;%%% Rearrange to counter-clockwise sense,%%  and keep the original first point%%  at the top.%%if ~isccw(x, y)%    thePoints = flipud(thePoints);%	f = find(thePoints(:, 3));%	f = f(4);%    thePoints = thePoints([f:end 1:f-1], :);%    lon = thePoints(:,1); lat = thePoints(:,2);%end%%self = psset(self, 'itsPoints', thePoints);%doupdate(self, 1)%set(gca, 'ButtonDownFcn', '')%%if nargout > 0%	theResult = self;%endfclose(fout);disp(' ## Installing: "seagrid.m" (text)')fout = fopen('seagrid.m', 'w');%function theResult = seagrid(theCoastlineFile, theBathymetryFile, theProjection)%%% seagrid/seagrid -- Constructor for "seagrid" class.%%  seagrid('demo') shows itself using the Amazon "test_data".%%  seagrid('theCoastlineFile', 'theBathymetryFile', 'theProjection')%%   constructs a "seagrid" interface, using the given coastline file,%%   bathymetry file, and projection (default = 'Mercator').%%  seagrid('version') reports the current SeaGrid version number.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 07-Apr-1999 15:44:33.%% Updated    09-Apr-2002 15:44:55.%%if nargin == 1 & isequal(theCoastlineFile, 'demo')%	oldPWD = pwd;%	setdef(mfilename)%	cd ..%	cd test_data%	try%		result = seagrid('amazon_coast.mat', 'amazon_bathy.mat');%	catch%		result = [];%	end%	cd(oldPWD)%	if nargout > 0%		theResult = result;%	else%		assignin('base', 'ans', result)%	end%	return%end%%if nargout > 0, theResult = []; end%if nargin < 1, theCoastlineFile = ''; end%if nargin < 2, theBathymetryFile = ''; end%if nargin < 3, theProjection = 'Mercator'; end%%% Locate mex-files for Unix and PCWIN.%%useMexFile = ~~0;%%c = lower(computer);%isMac = isequal(c(1:3), 'mac');%if ~isMac%	hasMex = (exist('mexrect', 'file') == 3) & ...%				(exist('mexsepeli', 'file') == 3) & ...%				(exist('mexinside', 'file') == 3);%	if hasMex%		useMexFile = ~~1;%	else%		disp(' ')%		disp(' ## Unable to locate Mex-files.  Install')%		disp(' ## "mexrect", "mexsepeli", and "mexinside",')%		disp(' ## then adjust your Matlab path accordingly.')%		disp(' ## Presently using M-file replacements.')%		disp(' ')%	end%end%%% Locate libraries.%%okay = 1;%if ~any(which('ps/ps'))%	disp(' ## SeaGrid requires the "Presto" toolbox.')%	okay = 0;%end%%if 0 & ~any(which('m_proj'))   % No longer used.%	disp(' ## SeaGrid requires the "M_Map" toolbox.')%	okay = 0;%end%%if ~okay%	disp(' ## Please install and/or include in Matlab path.')%	return%end%%% Version.%%if isequal(lower(theCoastlineFile), 'version')%	help seagrid/version%	return%end%%% Is PWD in a class-directory.%%isVMS = ~~0;%if (isVMS & any(pwd == '#')) | (~isVMS & any(pwd == '@'))%	disp([' ## "' pwd '" is a class-directory.'])%	disp([' ## Please start SeaGrid from outside any class-directory.'])%	return%end%%busy%%temp = get(0, 'DefaultFigureCreateFcn');%set(0, 'DefaultFigureCreateFcn', '')%%theFigure = figure('Name', 'SeaGrid');%%set(0, 'DefaultFigureCreateFcn', temp)%%theStruct.ignore = [];%self = class(theStruct, 'seagrid', ps(theFigure));%psbind(self)%%psset(self, 'itsCoastlineFile', theCoastlineFile)%psset(self, 'itsBathymetryFile', theBathymetryFile)%%theProjectionCenter = [0 0 0];%theLongitudeBounds = [];%theLatitudeBounds = [];%theInputUnits = 'degrees';%theMapUnits = 'degrees';%%theFigure = ps(self);%%theMenus = doaddmenus(self);%%theInterpFcn = 'splinesafe';%theInterpMethod = 1;%theGriddingMethod = 'linear';   % For bathymetry.%%self = doinitialize(self, ...%					'itNeedsUpdate', ~~0, ...%					'itIsVerbose', ~~0, ...%					'itsCoastlineFile', theCoastlineFile, ...%					'itsCoastlineColor', [4 2 1]/4, ...%					'itsBathymetryFile', theBathymetryFile, ...%					'itsBathymetryColor', [4 4 5]/5, ...%					'itsProjection', theProjection, ...%					'itsProjectionCenter', theProjectionCenter, ...%					'itsLongitudeBounds', theLongitudeBounds, ...%					'itsLatitudeBounds', theLatitudeBounds, ...%					'itsInputUnits', theInputUnits, ...%					'itsMapUnits', theMapUnits, ...%					'itsGraticule', 'off', ...%					'itsGridSize', [10 10], ...%					'itsEraseMode', 'xor', ...   % Note "xor".%					'itsCornerColor', 'r', ...%					'itsCornerMarker', 'o', ...%					'itsCornerLineStyle', 'none', ...%					'itsCornerTag', 'corner-point', ...%					'itsEdgeColor', 'b', ...%					'itsEdgeMarker', 'o', ...%					'itsEdgeLineStyle', '-', ...%					'itsEdgePointTag', 'edge-point', ...%					'itsEdgeTag', 'edge', ...%					'itsGriddedBathymetry', [], ...%					'itsMask', [], ...%					'itsLand', [], ...%					'itsWater', [], ...%					'itsOrthogonalityTag', 'orthogonality', ...%					'itsGridLineColor', 'g', ...%					'itsEndSlopeFlag', 1, ...%					'itsClippingDepths', [0 Inf], ...%					'itsPointFlag', 1, ...%					'itsSpacerFlag', 0, ...%					'itsSpacerMarker', 's', ...%					'itsSpacerCounts', [5 5], ...%					'itsSpacedEdges', [1 2], ...%					'itsDefaultSpacings', {'s', 's'}, ...%					'itsInterpFcn', theInterpFcn, ...%					'itsInterpMethod', theInterpMethod, ...%					'itsGriddingMethod', theGriddingMethod, ...%					'itUsesMexFile', useMexFile);%%if nargin > 0%	load(theCoastlineFile)%	if exist('s', 'var') == 1 & isstruct(s)%		theSeagridFile = theCoastlineFile;%		doload(self, theSeagridFile)%		return%	else%		getcoastline(self)%	end%end%%if nargin > 1, getbathymetry(self), end%%enable(self)%set(theFigure, 'WindowButtonDownFcn', '')%%f = findobj(gcf, 'Type', 'uimenu', 'Parent', gcf);%if any(f), set(f, 'Callback', ''), end%%doticks(self)%%getboundary(self)%%if nargout > 0, theResult = self; endfclose(fout);disp(' ## Installing: "todo.m" (text)')fout = fopen('todo.m', 'w');%function todo% %% Copyright (C) 2001 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 22-Oct-2001 14:37:15.%% Updated    22-Oct-2001 16:15:54.%%1.	Bathymetry from already-gridded depths,%		using "xyplaid", "gridfill", and%		"interp2".  These routines exist,%		but need to be integrated and%		activated in the "dobathymetry"%		method.   % DONE.%%2.	Preserve depths that are already editted%		by hand, rather than computing over%		them.  When a "SeaGrid" file is read,%		a "show-depths" flag needs to be%		activated.%		%3.	Non-orthogonality of grid when spacers%		are not evenly distributed.  This%		comes from calling "sepeli" incorrectly,%		but I don't know the specific error.%		%4.	More control over which Mex-files are %		to be used.  We can add a couple%		of buttons to the "Setup" dialog.%		%5.	Grid-lines falling exactly on the data%		points themselves.  This would solve%		the spacing problem somewhat.%		fclose(fout);disp(' ## Installing: "verbose.m" (text)')fout = fopen('verbose.m', 'w');%function theResult = verbose(self, isVerbose)%%% verbose -- Set/get verbosity flag.%%  verbose(self, isVerbose) sets the verbosity%%   flag to isVerbose.%%  verbose(self) returns the verbosity flag.% %% Copyright (C) 2000 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 05-Feb-2000 13:02:56.%% Updated    05-Feb-2000 13:02:56.%%if nargin > 1%	if ischar(isVerbose)%		isVerbose = isequal(isVerbose, 'on');%	end%	isVerbose = ~~isVerbose;%	psset(self, 'itIsVerbose', isVerbose);%end%%isVerbose = psget(self, 'itIsVerbose');%%if nargout > 0%	theResult = isVerbose;%elseif isVerbose%	disp(' ## Verbose on')%else%	disp(' ## Verbose off')%endfclose(fout);disp(' ## Installing: "version.m" (text)')fout = fopen('version.m', 'w');%function version(self)%%% Version of 02-Jul-2003 15:51:54.%%helpdlg(help(mfilename), 'seagrid')fclose(fout);disp(' ## Installing: "web.m" (text)')fout = fopen('web.m', 'w');%function theResult = web(self)%%% web -- World Wide Web site of the SeaGrid Toolbox.%%  web(no argument) displays or returns the WWW%%   site for the SeaGrid Toolbox.  If displayed,%%   a dialog asks whether to go there.% %% Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%%  All Rights Reserved.%%   Disclosure without explicit written consent from the%%    copyright owner does not constitute publication.% %% Version of 28-Apr-1999 19:30:28.%% Updated    29-Sep-1999 11:19:35.%%theURL = 'http://crusty.er.usgs.gov/~cdenham/seagrid/seagrid.html';%%if nargout > 0%	theResult = theURL;%else%	disp(['## SeaGrid Toolbox Home Page:'])%	disp(['## ' theURL])%	theButton =  questdlg('Go To SeaGrid Toolbox Home Page?', 'WWW', 'Yes', 'No', 'No');%	if isequal(theButton, 'Yes')%		theStatus = web(theURL);%		switch theStatus%		case 1%			disp(' ## Could not find Web Browser.')%			disp(' ## See "help web".')%		case 2%			disp(' ## Web Browser found, but could not be launched.')%			disp(' ## See "help web".')%			help(web)%		otherwise%		end%	end%endfclose(fout);disp(' ## Installing: "zzz.asc" (binary)')fout = fopen('zzz.asc', 'w');%?202020352e30303030303030652b3031202020322e35303030%?303030652b3031202020312e30303030303030652b30300d20%?202d352e30303030303030652b3031202020322e3530303030%?3030652b3031202020312e30303030303030652b30300d2020%?2d352e30303030303030652b30312020312e36373331323538%?652d313032202020312e30303030303030652b30300d20202d%?342e39353030303030652b30312020312e3834333733323165%?2d313030202020302e30303030303030652b30300d20202d34%?2e39303030303030652b3031202020312e3933373935303865%?2d3938202020302e30303030303030652b30300d20202d342e%?38353030303030652b3031202020312e39343239353737652d%?3936202020302e30303030303030652b30300d20202d342e38%?303030303030652b3031202020312e38353830353936652d39%?34202020302e30303030303030652b30300d20202d342e3735%?3030303030652b3031202020312e36393438353133652d3932%?202020302e30303030303030652b30300d20202d342e373030%?30303030652b3031202020312e34373436313731652d393020%?2020302e30303030303030652b30300d20202d342e36353030%?303030652b3031202020312e32323337373830652d38382020%?20302e30303030303030652b30300d20202d342e3630303030%?3030652b3031202020392e36383732373537652d3837202020%?302e30303030303030652b30300d20202d342e353530303030%?30652b3031202020372e33313433363038652d383520202030%?2e30303030303030652b30300d20202d342e35303030303030%?652b3031202020352e32363737363938652d3833202020302e%?30303030303030652b30300d20202d342e3435303030303065%?2b3031202020332e36313837303235652d3831202020302e30%?303030303030652b30300d20202d342e34303030303030652b%?3031202020322e33373131323631652d3739202020302e3030%?3030303030652b30300d20202d342e33353030303030652b30%?31202020312e34383139343531652d3737202020302e303030%?30303030652b30300d20202d342e33303030303030652b3031%?202020382e38333435363732652d3736202020302e30303030%?303030652b30300d20202d342e32353030303030652b303120%?2020352e30323335383932652d3734202020302e3030303030%?3030652b30300d20202d342e32303030303030652b30312020%?20322e37323436393937652d3732202020302e303030303030%?30652b30300d20202d342e31353030303030652b3031202020%?312e34303936303936652d3730202020302e30303030303030%?652b30300d20202d342e31303030303030652b303120202036%?2e39353539323236652d3639202020302e3030303030303065%?2b30300d20202d342e30353030303030652b3031202020332e%?32373430353737652d3637202020302e30303030303030652b%?30300d20202d342e30303030303030652b3031202020312e34%?363939313936652d3635202020302e30303030303030652b30%?300d20202d332e39353030303030652b3031202020362e3239%?3437323139652d3634202020302e30303030303030652b3030%?0d20202d332e39303030303030652b3031202020322e353731%?31393630652d3632202020302e30303030303030652b30300d%?20202d332e38353030303030652b3031202020312e30303137%?373334652d3630202020302e30303030303030652b30300d20%?202d332e38303030303030652b3031202020332e3732323838%?3432652d3539202020302e30303030303030652b30300d2020%?2d332e37353030303030652b3031202020312e333139363639%?36652d3537202020302e30303030303030652b30300d20202d%?332e37303030303030652b3031202020342e34363139363936%?652d3536202020302e30303030303030652b30300d20202d33%?2e36353030303030652b3031202020312e3433393030393665%?2d3534202020302e30303030303030652b30300d20202d332e%?36303030303030652b3031202020342e34323636363238652d%?3533202020302e30303030303030652b30300d20202d332e35%?353030303030652b3031202020312e32393838363736652d35%?31202020302e30303030303030652b30300d20202d332e3530%?3030303030652b3031202020332e36333532303539652d3530%?202020302e30303030303030652b30300d20202d332e343530%?30303030652b3031202020392e37303434303331652d343920%?2020302e30303030303030652b30300d20202d332e34303030%?303030652b3031202020322e34373130363539652d34372020%?20302e30303030303030652b30300d20202d332e3335303030%?3030652b3031202020362e30303137313730652d3436202020%?302e30303030303030652b30300d20202d332e333030303030%?30652b3031202020312e33393034303834652d343420202030%?2e30303030303030652b30300d20202d332e32353030303030%?652b3031202020332e30373234353039652d3433202020302e%?30303030303030652b30300d20202d332e3230303030303065%?2b3031202020362e34373539343536652d3432202020302e30%?303030303030652b30300d20202d332e31353030303030652b%?3031202020312e33303139353835652d3430202020302e3030%?3030303030652b30300d20202d332e31303030303030652b30%?31202020322e34393637303232652d3339202020302e303030%?30303030652b30300d20202d332e30353030303030652b3031%?202020342e35363638303036652d3338202020302e30303030%?303030652b30300d20202d332e30303030303030652b303120%?2020372e39363737303132652d3337202020302e3030303030%?3030652b30300d20202d322e39353030303030652b30312020%?20312e33323539353738652d3335202020302e303030303030%?30652b30300d20202d322e39303030303030652b3031202020%?322e31303437353736652d3334202020302e30303030303030%?652b30300d20202d322e38353030303030652b303120202033%?2e31383637363536652d3333202020302e3030303030303065%?2b30300d20202d322e38303030303030652b3031202020342e%?36303232383837652d3332202020302e30303030303030652b%?30300d20202d322e37353030303030652b3031202020362e33%?333937363638652d3331202020302e30303030303030652b30%?300d20202d322e37303030303030652b3031202020382e3333%?3030363530652d3330202020302e30303030303030652b3030%?0d20202d322e36353030303030652b3031202020312e303433%?39393638652d3238202020302e30303030303030652b30300d%?20202d322e36303030303030652b3031202020312e32343830%?333138652d3237202020302e30303030303030652b30300d20%?202d322e35353030303030652b3031202020312e3432333037%?3531652d3236202020302e30303030303030652b30300d2020%?2d322e35303030303030652b3031202020312e353437373637%?33652d3235202020302e30303030303030652b30300d20202d%?322e34353030303030652b3031202020312e36303536383038%?652d3234202020302e30303030303030652b30300d20202d32%?2e34303030303030652b3031202020312e3538383837303365%?2d3233202020302e30303030303030652b30300d20202d322e%?33353030303030652b3031202020312e34393936363139652d%?3232202020302e30303030303030652b30300d20202d322e33%?303030303030652b3031202020312e33353031323439652d32%?31202020302e30303030303030652b30300d20202d322e3235%?3030303030652b3031202020312e31353933393138652d3230%?202020302e30303030303030652b30300d20202d322e323030%?30303030652b3031202020392e34393634363939652d323020%?2020302e30303030303030652b30300d20202d322e31353030%?303030652b3031202020372e34313934313832652d31392020%?20302e30303030303030652b30300d20202d322e3130303030%?3030652b3031202020352e35323930383430652d3138202020%?302e30303030303030652b30300d20202d322e303530303030%?30652b3031202020332e39333031373830652d313720202030%?2e30303030303030652b30300d20202d322e30303030303030%?652b3031202020322e36363436393134652d3136202020302e%?30303030303030652b30300d20202d312e3935303030303065%?2b3031202020312e37323332383539652d3135202020302e30%?303030303030652b30300d20202d312e39303030303030652b%?3031202020312e30363330323438652d3134202020302e3030%?3030303030652b30300d20202d312e38353030303030652b30%?31202020362e32353436383133652d3134202020302e303030%?30303030652b30300d20202d312e38303030303030652b3031%?202020332e35313032383731652d3133202020302e30303030%?303030652b30300d20202d312e37353030303030652b303120%?2020312e38373931323535652d3132202020302e3030303030%?3030652b30300d20202d312e37303030303030652b30312020%?20392e35393439393139652d3132202020302e303030303030%?30652b30300d20202d312e36353030303030652b3031202020%?342e36373331343336652d3131202020302e30303030303030%?652b30300d20202d312e36303030303030652b303120202032%?2e31373039343735652d3130202020302e3030303030303065%?2b30300d20202d312e35353030303030652b3031202020392e%?36313937383137652d3130202020302e30303030303030652b%?30300d20202d312e35303030303030652b3031202020342e30%?363539303039652d3039202020302e30303030303030652b30%?300d20202d312e34353030303030652b3031202020312e3633%?3931373032652d3038202020302e30303030303030652b3030%?0d20202d312e34303030303030652b3031202020362e333033%?32383537652d3038202020302e30303030303030652b30300d%?20202d312e33353030303030652b3031202020322e33313139%?383833652d3037202020302e30303030303030652b30300d20%?202d312e33303030303030652b3031202020382e3038383732%?3237652d3037202020302e30303030303030652b30300d2020%?2d312e32353030303030652b3031202020322e363939323932%?35652d3036202020302e30303030303030652b30300d20202d%?312e32303030303030652b3031202020382e35393230323731%?652d3036202020302e30303030303030652b30300d20202d31%?2e31353030303030652b3031202020322e3630383635373265%?2d3035202020302e30303030303030652b30300d20202d312e%?31303030303030652b3031202020372e35353436343533652d%?3035202020302e30303030303030652b30300d20202d312e30%?353030303030652b3031202020322e30383638323838652d30%?34202020302e30303030303030652b30300d20202d312e3030%?3030303030652b3031202020352e34393833383635652d3034%?202020302e30303030303030652b30300d20202d392e353030%?30303030652b3030202020312e33383138343532652d303320%?2020302e30303030303030652b30300d20202d392e30303030%?303030652b3030202020332e33313235323532652d30332020%?20302e30303030303030652b30300d20202d382e3530303030%?3030652b3030202020372e35373431363336652d3033202020%?302e30303030303030652b30300d20202d382e303030303030%?30652b3030202020312e36353139303830652d303220202030%?2e30303030303030652b30300d20202d372e35303030303030%?652b3030202020332e34333634373133652d3032202020302e%?30303030303030652b30300d20202d372e3030303030303065%?2b3030202020362e38313839313530652d3032202020302e30%?303030303030652b30300d20202d362e35303030303030652b%?3030202020312e32393036303535652d3031202020302e3030%?3030303030652b30300d20202d362e30303030303030652b30%?30202020322e33323939353435652d3031202020302e303030%?30303030652b30300d20202d352e35303030303030652b3030%?202020342e30313231343930652d3031202020302e30303030%?303030652b30300d20202d352e30303030303030652b303020%?2020362e35383939353334652d3031202020302e3030303030%?3030652b30300d20202d342e35303030303030652b30302020%?20312e30333234333634652b3030202020302e303030303030%?30652b30300d20202d342e30303030303030652b3030202020%?312e35343238333638652b3030202020302e30303030303030%?652b30300d20202d332e35303030303030652b303020202032%?2e31393931333733652b3030202020302e3030303030303065%?2b30300d20202d332e30303030303030652b3030202020322e%?39383939323537652b3030202020302e30303030303030652b%?30300d20202d322e35303030303030652b3030202020332e38%?373734333133652b3030202020302e30303030303030652b30%?300d20202d322e30303030303030652b3030202020342e3739%?3632363930652b3030202020302e30303030303030652b3030%?0d20202d312e35303030303030652b3030202020352e363538%?39383631652b3030202020302e30303030303030652b30300d%?20202d312e30303030303030652b3030202020362e33363836%?373938652b3030202020302e30303030303030652b30300d20%?202d352e30303030303030652d3031202020362e3833363533%?3235652b3030202020302e30303030303030652b30300d2020%?20302e30303030303030652b3030202020372e303030303030%?30652b3030202020302e30303030303030652b30300d202020%?352e30303030303030652d3031202020362e38333635333235%?652b3030202020302e30303030303030652b30300d20202031%?2e30303030303030652b3030202020362e3336383637393865%?2b3030202020302e30303030303030652b30300d202020312e%?35303030303030652b3030202020352e36353839383631652b%?3030202020302e30303030303030652b30300d202020322e30%?303030303030652b3030202020342e37393632363930652b30%?30202020302e30303030303030652b30300d202020322e3530%?3030303030652b3030202020332e38373734333133652b3030%?202020302e30303030303030652b30300d202020332e303030%?30303030652b3030202020322e39383939323537652b303020%?2020302e30303030303030652b30300d202020332e35303030%?303030652b3030202020322e31393931333733652b30302020%?20302e30303030303030652b30300d202020342e3030303030%?3030652b3030202020312e35343238333638652b3030202020%?302e30303030303030652b30300d202020342e353030303030%?30652b3030202020312e30333234333634652b303020202030%?2e30303030303030652b30300d202020352e30303030303030%?652b3030202020362e35383939353334652d3031202020302e%?30303030303030652b30300d202020352e3530303030303065%?2b3030202020342e30313231343930652d3031202020302e30%?303030303030652b30300d202020362e30303030303030652b%?3030202020322e33323939353435652d3031202020302e3030%?3030303030652b30300d202020362e35303030303030652b30%?30202020312e32393036303535652d3031202020302e303030%?30303030652b30300d202020372e30303030303030652b3030%?202020362e38313839313530652d3032202020302e30303030%?303030652b30300d202020372e35303030303030652b303020%?2020332e34333634373133652d3032202020302e3030303030%?3030652b30300d202020382e30303030303030652b30302020%?20312e36353139303830652d3032202020302e303030303030%?30652b30300d202020382e35303030303030652b3030202020%?372e35373431363336652d3033202020302e30303030303030%?652b30300d202020392e30303030303030652b303020202033%?2e33313235323532652d3033202020302e3030303030303065%?2b30300d202020392e35303030303030652b3030202020312e%?33383138343532652d3033202020302e30303030303030652b%?30300d202020312e30303030303030652b3031202020352e34%?393833383635652d3034202020302e30303030303030652b30%?300d202020312e30353030303030652b3031202020322e3038%?3638323838652d3034202020302e30303030303030652b3030%?0d202020312e31303030303030652b3031202020372e353534%?36343533652d3035202020302e30303030303030652b30300d%?202020312e31353030303030652b3031202020322e36303836%?353732652d3035202020302e30303030303030652b30300d20%?2020312e32303030303030652b3031202020382e3539323032%?3731652d3036202020302e30303030303030652b30300d2020%?20312e32353030303030652b3031202020322e363939323932%?35652d3036202020302e30303030303030652b30300d202020%?312e33303030303030652b3031202020382e30383837323237%?652d3037202020302e30303030303030652b30300d20202031%?2e33353030303030652b3031202020322e3331313938383365%?2d3037202020302e30303030303030652b30300d202020312e%?34303030303030652b3031202020362e33303332383537652d%?3038202020302e30303030303030652b30300d202020312e34%?353030303030652b3031202020312e36333931373032652d30%?38202020302e30303030303030652b30300d202020312e3530%?3030303030652b3031202020342e30363539303039652d3039%?202020302e30303030303030652b30300d202020312e353530%?30303030652b3031202020392e36313937383137652d313020%?2020302e30303030303030652b30300d202020312e36303030%?303030652b3031202020322e31373039343735652d31302020%?20302e30303030303030652b30300d202020312e3635303030%?3030652b3031202020342e36373331343336652d3131202020%?302e30303030303030652b30300d202020312e373030303030%?30652b3031202020392e35393439393139652d313220202030%?2e30303030303030652b30300d202020312e37353030303030%?652b3031202020312e38373931323535652d3132202020302e%?30303030303030652b30300d202020312e3830303030303065%?2b3031202020332e35313032383731652d3133202020302e30%?303030303030652b30300d202020312e38353030303030652b%?3031202020362e32353436383133652d3134202020302e3030%?3030303030652b30300d202020312e39303030303030652b30%?31202020312e30363330323438652d3134202020302e303030%?30303030652b30300d202020312e39353030303030652b3031%?202020312e37323332383539652d3135202020302e30303030%?303030652b30300d202020322e30303030303030652b303120%?2020322e36363436393134652d3136202020302e3030303030%?3030652b30300d202020322e30353030303030652b30312020%?20332e39333031373830652d3137202020302e303030303030%?30652b30300d202020322e31303030303030652b3031202020%?352e35323930383430652d3138202020302e30303030303030%?652b30300d202020322e31353030303030652b303120202037%?2e34313934313832652d3139202020302e3030303030303065%?2b30300d202020322e32303030303030652b3031202020392e%?34393634363939652d3230202020302e30303030303030652b%?30300d202020322e32353030303030652b3031202020312e31%?353933393138652d3230202020302e30303030303030652b30%?300d202020322e33303030303030652b3031202020312e3335%?3031323439652d3231202020302e30303030303030652b3030%?0d202020322e33353030303030652b3031202020312e343939%?36363139652d3232202020302e30303030303030652b30300d%?202020322e34303030303030652b3031202020312e35383838%?373033652d3233202020302e30303030303030652b30300d20%?2020322e34353030303030652b3031202020312e3630353638%?3038652d3234202020302e30303030303030652b30300d2020%?20322e35303030303030652b3031202020312e353437373637%?33652d3235202020302e30303030303030652b30300d202020%?322e35353030303030652b3031202020312e34323330373531%?652d3236202020302e30303030303030652b30300d20202032%?2e36303030303030652b3031202020312e3234383033313865%?2d3237202020302e30303030303030652b30300d202020322e%?36353030303030652b3031202020312e30343339393638652d%?3238202020302e30303030303030652b30300d202020322e37%?303030303030652b3031202020382e33333030363530652d33%?30202020302e30303030303030652b30300d202020322e3735%?3030303030652b3031202020362e33333937363638652d3331%?202020302e30303030303030652b30300d202020322e383030%?30303030652b3031202020342e36303232383837652d333220%?2020302e30303030303030652b30300d202020322e38353030%?303030652b3031202020332e31383637363536652d33332020%?20302e30303030303030652b30300d202020322e3930303030%?3030652b3031202020322e31303437353736652d3334202020%?302e30303030303030652b30300d202020322e393530303030%?30652b3031202020312e33323539353738652d333520202030%?2e30303030303030652b30300d202020332e30303030303030%?652b3031202020372e39363737303132652d3337202020302e%?30303030303030652b30300d202020332e3035303030303065%?2b3031202020342e35363638303036652d3338202020302e30%?303030303030652b30300d202020332e31303030303030652b%?3031202020322e34393637303232652d3339202020302e3030%?3030303030652b30300d202020332e31353030303030652b30%?31202020312e33303139353835652d3430202020302e303030%?30303030652b30300d202020332e32303030303030652b3031%?202020362e34373539343536652d3432202020302e30303030%?303030652b30300d202020332e32353030303030652b303120%?2020332e30373234353039652d3433202020302e3030303030%?3030652b30300d202020332e33303030303030652b30312020%?20312e33393034303834652d3434202020302e303030303030%?30652b30300d202020332e33353030303030652b3031202020%?362e30303137313730652d3436202020302e30303030303030%?652b30300d202020332e34303030303030652b303120202032%?2e34373130363539652d3437202020302e3030303030303065%?2b30300d202020332e34353030303030652b3031202020392e%?37303434303331652d3439202020302e30303030303030652b%?30300d202020332e35303030303030652b3031202020332e36%?333532303539652d3530202020302e30303030303030652b30%?300d202020332e35353030303030652b3031202020312e3239%?3838363736652d3531202020302e30303030303030652b3030%?0d202020332e36303030303030652b3031202020342e343236%?36363238652d3533202020302e30303030303030652b30300d%?202020332e36353030303030652b3031202020312e34333930%?303936652d3534202020302e30303030303030652b30300d20%?2020332e37303030303030652b3031202020342e3436313936%?3936652d3536202020302e30303030303030652b30300d2020%?20332e37353030303030652b3031202020312e333139363639%?36652d3537202020302e30303030303030652b30300d202020%?332e38303030303030652b3031202020332e37323238383432%?652d3539202020302e30303030303030652b30300d20202033%?2e38353030303030652b3031202020312e3030313737333465%?2d3630202020302e30303030303030652b30300d202020332e%?39303030303030652b3031202020322e35373131393630652d%?3632202020302e30303030303030652b30300d202020332e39%?353030303030652b3031202020362e32393437323139652d36%?34202020302e30303030303030652b30300d202020342e3030%?3030303030652b3031202020312e34363939313936652d3635%?202020302e30303030303030652b30300d202020342e303530%?30303030652b3031202020332e32373430353737652d363720%?2020302e30303030303030652b30300d202020342e31303030%?303030652b3031202020362e39353539323236652d36392020%?20302e30303030303030652b30300d202020342e3135303030%?3030652b3031202020312e34303936303936652d3730202020%?302e30303030303030652b30300d202020342e323030303030%?30652b3031202020322e37323436393937652d373220202030%?2e30303030303030652b30300d202020342e32353030303030%?652b3031202020352e30323335383932652d3734202020302e%?30303030303030652b30300d202020342e3330303030303065%?2b3031202020382e38333435363732652d3736202020302e30%?303030303030652b30300d202020342e33353030303030652b%?3031202020312e34383139343531652d3737202020302e3030%?3030303030652b30300d202020342e34303030303030652b30%?31202020322e33373131323631652d3739202020302e303030%?30303030652b30300d202020342e34353030303030652b3031%?202020332e36313837303235652d3831202020302e30303030%?303030652b30300d202020342e35303030303030652b303120%?2020352e32363737363938652d3833202020302e3030303030%?3030652b30300d202020342e35353030303030652b30312020%?20372e33313433363038652d3835202020302e303030303030%?30652b30300d202020342e36303030303030652b3031202020%?392e36383732373537652d3837202020302e30303030303030%?652b30300d202020342e36353030303030652b303120202031%?2e32323337373830652d3838202020302e3030303030303065%?2b30300d202020342e37303030303030652b3031202020312e%?34373436313731652d3930202020302e30303030303030652b%?30300d202020342e37353030303030652b3031202020312e36%?393438353133652d3932202020302e30303030303030652b30%?300d202020342e38303030303030652b3031202020312e3835%?3830353936652d3934202020302e30303030303030652b3030%?0d202020342e38353030303030652b3031202020312e393432%?39353737652d3936202020302e30303030303030652b30300d%?202020342e39303030303030652b3031202020312e39333739%?353038652d3938202020302e30303030303030652b30300d20%?2020342e39353030303030652b30312020312e383433373332%?31652d313030202020302e30303030303030652b30300d2020%?20352e30303030303030652b30312020312e36373331323538%?652d313032202020312e30303030303030652b30300dfclose(fout);cd ('..')bund_setdir('test_data')disp(' ## Installing: "amazon_coast.mat" (binary)')fout = fopen('amazon_coast.mat', 'w');%?4d41544c414220352e30204d41542d66696c652c20506c6174%?666f726d3a205347492c2043726561746564206f6e3a204d6f%?6e204d61722031362031313a34303a31352031393938202020%?20202020202020202020202020202020202020202020202020%?20202020202020202020202020202020202020202020202001%?004d490000000e0000c5580000000600000008000000060000%?00000000000500000008000018a500000001000300016c6f6e%?00000000090000c5287ff7ffffffffffffc04d000000000000%?c04d000000000000c044000000000000c044000000000000c0%?4402dc0980b242c0440646c764ae00c044099e492bc2fcc044%?0c65a57646aec0440fb38d60a633c04411a76534373fc04414%?785b5b7069c04417193f6c269ac0441b00ef1348b2c0441f0f%?1f57b41cc04422ed352220bcc04426d4ed2cbea5c0442ab30b%?5aa716c0442eadf71eafeec0443278d92fb19ec044367d6733%?ebc0c04439e82517e77dc0443d22d948dc12c0443fd6f112fd%?33c0444217b0f6ad71c0444518b9346994c044488d10f51aca%?c0444b7add15f02cc0444f32830d0b1cc0445340aaeafab5c0%?44571ec918e326c0445aaff6d33094c0445eaaeafab53dc044%?61dbfceb7889c04464c026cc1ca4c044680474d9c6b0c0446a%?453d20f2bfc0446b9f44d44567c0446ef6cefed634c04471f7%?ced91687c044748576cce5f7c04478c3b0c4588ac0447c41aa%?c53b08c0447fdc7abfb9bfc04483774aba3876c044871bbcf4%?e875c0448ac9c0a8d21cc0448ab68cef672cc0448c370cdc87%?55c0448a3992c8c500c0448c2d72ffd1ddc0448eb178b37004%?c04491ec2ce46499c04495d3e4ef0282c0449a121ee67514c0%?449e46b69db65fc044a254e6e221c9c044a4ff64cf8d71c044%?a7c6b8b69553c044a64fd2a62aa2c044a45bfad29995c044a1%?c4b09e98ddc044a01dc0db2703c0449e76c8b43958c0449df0%?34b0e1b5c0449fa0c6b484d7c044a177d0f1f57bc044a2d1d8%?a54824c044a56922d948dcc044a64fd2a62aa2c044a8a3cea6%?c1a0c044ab31769a9110c044a9cdcca70d20c044aba4d6e47d%?c3c044aefc58ab92c0c044b253e2d6238ec044b58e8ea39c52%?c044b7c5b4aa9718c044b765907d9125c044b96cacd184c2c0%?44ba3686a4ca4fc044b96cacd184c2c044bc7746887a8dc044%?bf6512a94ff0c044c2f648c7192fc044c64430b178b3c044c9%?e89a88ace2c044cdd052934acbc044d0679cc74b84c044d2eb%?a27ae9abc044d5c6327ed84dc044d883ec892ab7c044d7f3be%?a91d9bc044d7b07075b3e1c044d58c868b9fdcc044d52c6ac2%?15bac044d776c4827b70c044d9d45a5fc7e7c044dc92146a1a%?50c044dfe004b7f5a5c044e203eea209abc044e4cb4289118c%?c044e6ef2c732592c044e8eca686e7e6c044eb5d78811b1ec0%?44ea3d145d8516c044ebb3fa6defc8c044ef7542a23c00c044%?f2fcd67fd3f6c044f6a140570825c044fa327674d163c044fe%?06f262888bc0450154da4ce810c044ff30f062d40bc044fc39%?8a654930c044fa28dc981bebc044f774bc6a7efac044f7d4e0%?9784ecc044f9254e6e221dc044fc432441fea8c044fe972042%?95a7c04500f4be835deec045038266772d5ec045068366516d%?b1c04509daf07bfe7ec0450d9b30728e93c0450d88f42fe825%?c0450ff9c62a1b5cc04512f12c27a637c045162be0589accc0%?451949b62c7757c0451c411c2a0232c0451de81450efddc045%?1e650e779208c0451ecec41dd1a2c045214938583622c04520%?88f861a60dc04520df7a4e7ab7c045230364388ebdc04526bb%?0d2ca9acc04529ec1c1d6cf8c0452d9a2834d270c04530a4ca%?4f440bc0453482e019b0abc0453569984a0e41c04537b3f20d%?73f7c0453aeea63b688cc0453e3c8e25c811c04540d3d859c8%?c9c045415a6c5d206dc0453e6ca03c4b0dc0453e6ca03c4b0d%?c04540b6f9fcb0c0c04543d4d834091cc04546e9142b302fc0%?4549d6e04c0592c0454cbb0d2ca9acc0454f78c436fc16c045%?5240181e03f7c04554472c0e7bc4c04555f7be121ee6c04557%?eb9e492bc3c0455a6fa3fcc9ebc0455dbd8be7296fc04560a1%?be2b495ac0456459641f6449c04567d75e2046c7c0456a0e84%?27418dc0456c628027d88cc0456ec9afe1da7bc045728af816%?26b3c045752239e6ab9bc04577595feda661c0457ae0f3cb3e%?57c0457ed24e160d88c0458233721d53cec04585b16c1e364c%?c045886583e8576dc0458bf6ba0620abc0458f6b11c6d1e1c0%?459275b3e1437cc045952031ceaf25c04598e17a02fb5dc045%?9cefa1e3eaf7c045a080d801b435c045a381d7dbf488c045a7%?7329c347e9c045ab5147f13059c045ae2235b4edb3c045b0df%?efbf401cc045b4ee17a02fb6c045b71ba3ca7504c045ba5ff1%?d81f10c045bd60f1b25f63c045bd7dc7abfb9cc045bb3d07c8%?4b5ec045b87f4dbdf8f4c045b56177ea1c69c045b75ee99a62%?edc045ba2fdfc19c17c045b9ec918e325dc045b7ef1fddebd9%?c045b5cb2d905c03c045b89289dadfb5c045baa337a80cfac0%?45b9a94bbe4474c045b83c07ee0b0bc045b96f9fcb0c02c045%?badce39b456bc045bc9717df19d6c045be94898f605bc045bf%?1183b60286c045c04ebdd334c6c045c18bef8ceb35c045c272%?a7bd48cbc045c238fbca105ac045c49691a75cd1c045c680cf%?9e3865c045c4e379b77c03c045c4a02b841249c045c6940bbb%?1f25c045c6ba7b9170d6c045c827c7c5260fc045c5ad538ac1%?90c045c8449dbec248c045ca4217d2849dc045ccf62f9ca5be%?c045cec39799e519c045d000d1b71759c045d33b7d84901dc0%?45d4d8dbcec850c045d361f5be5d9ec045d49f2778140ec045%?d64fb97bb731c045d7400b88ca3ec045d5a2b5a20ddcc045d5%?25bb7b6bb1c045d839f77292c5c045da243dccea29c045dbf1%?a5ca2984c045da711d798d8bc045da8df37329c3c045dbc193%?b3a68bc045de158fb43d8ac045df2c5197a249c045defc3f81%?1f4fc045dfec918e325dc045e0e67d77fae3c045e33a797891%?e2c045e54b2fa93af7c045e88f7db6e504c045ea70196d8f50%?c045ecba7b9170d6c045efbb7b6bb129c045f0e5796bfca8c0%?45efd851654d62c045f0bf0995aaf8c045f1e90795f677c045%?f3999999999ac045f476af89c5e7c045f7212d773190c045f8%?4b2b777d0fc045fa35696e58a3c045fa48a58b3f64c045fa5b%?e1a82624c045fc89656eefa2c045ff3d859c8c93c046017e45%?803cd1c0460355475a31a5c046050f7b9e0610c046065fe974%?a340c04607f3a57eaa2ac0460789e774eebfc04607c3936827%?31c04609c10d7be985c04609fab96f21f7c04609273d5bab22%?c0460d814d72799ac0460b719f7f8ca8c0460cc20d5629d8c0%?460e38f366948ac0460fb97353b4b3c0461126bf8769ecc046%?121711947cfac046140de9680e06c046161b9f98b71cc04618%?960b6f9fcbc04619e679463cfbc0461bf72f76e610c04619c9%?a34ca0c3c04617024f6598e1c04616554b8bef8dc046189fa5%?4c5543c046177f498c3b0cc0461ad6cb535009c0461d04577d%?9557c0461deb074a771dc0462035696e58a3c0462276295208%?e1c04623835158b828c046250d7386099ac04626410b630d91%?c046271487768167c04626aac96cc5fcc046298ef34d6a16c0%?462a75ab7dc7acc0462ae90364388fc0462bffc5479d4ec046%?2b52c16df3f9c04628a843808851c04625471f79420bc04622%?fcbd556085c04620bbfd71b047c0461dce3150dae4c0461a76%?af89c5e7c0461acd31769a91c0461aa6b93ccd10c046192fdb%?8fde2fc04615bb7b6bb129c0461324399b2c41c04610968943%?e100c0460f762d83c6c9c0460d9f23465626c0460e428d434a%?02c0460e12839042d9c0460b2e514c22eec046093a797891e2%?c0460686594af4f1c04604e90364388fc04603abc947064fc0%?4604626f60e0ebc04605f62b6ae7d5c04606d3415b1423c046%?07f3a57eaa2ac046082d5171e29bc0460c2845996745c0460d%?b15f88fc93c04606f9b994e1a4c04603a22f6a50d7c046046c%?11a11234c0460759d55e6bc6c0460d47a17f4129c0460c2845%?996745c0460f160956c0d7c04611ad538ac190c0461457d178%?2d38c0461745953586cbc0461a29c779a6b5c0461db15b573e%?abc0462138ef34d6a1c04624e6fb4c3c19c04626978d4fdf3b%?c04625c4113c6866c0462610f94c8798c0462486df82b1f7c0%?46256d8f4f93bcc0462654477ff152c04628a843808851c046%?2ba9435ac8a3c0462d9d1b2e59b0c0462f0d67620ee9c0462d%?cd2d44dca9c0462e107b784663c0462cf01754b05bc0462cf9%?b13165d4c0462dfd3f5b5fa2c0462ee3ef284168c0462fadd1%?5f02c5c04630b1572580c3c04630e1693c03bcc04631c8216c%?6152c046333f077ccc03c04631ee9142b303c04633bbf93ff2%?5ec046342f51266341c046341c1d6cf851c0463455c96030c2%?c046354fb549f948c0463679b34a44c8c0463850b524399bc0%?463a27bf61aa3fc0463c2539756c94c0463e960b6f9fcbc046%?4183cf2cf95dc04644117720c8cdc04645fbb517a461c04647%?8f7121ab4bc04649232d2bb235c0464cc79702e664c0464f4b%?a51a005cc04650df61240746c04651ec892ab68dc04653d6c7%?219221c04656f4a558ea7dc0465ab5e529bae4c0465e20a30d%?b6a2c04660749f0e4da1c046618b60f1b25fc04660a4b124d0%?9ac0465ff7ad4b2746c04662b55ef1fddfc0466512fd32c626%?c04661eb851eb852c046630be9424e59c04664191148fda0c0%?4664e2eb1c432dc046639c17225b75c046601e1d2178f7c046%?5d00474d9c6bc0465ba63736cdf2c04659ff3f0fe048c04657%?a1a93293d1c04655e77d523b36c04653b9f127f5e8c046512c%?49342678c0464fc89f40a287c04650fc371da37fc04654ed89%?04f6e0c04657b4e54f7a92c04658584f4c6e6ec04657ab430f%?4949c046575e5aff2a17c04656513b5bf6a1c046548d6d3b6c%?bec0465329c347e8cdc046527cb70dc3a8c04653804534bd77%?c0465389df1172efc04651ec892ab68dc0465088df37329cc0%?465058cd20afa3c0464e2b4959e625c0464d31550ca1cfc046%?4b170d62bf12c046499685122318c046485953586ca9c04646%?958537e2c5c04645885d31337fc046486c8711d799c04649d9%?d3458cd2c0464bd74d594f27c0464f1b93037d63c04652acc9%?2146a2c04654aa433508f6c046533cf70153bdc0465028bb0d%?2caac0464cdad31fcd25c0464a86d71f3626c04649a9c12f09%?d9c04646ec0724b76fc04643f4a1272c95c046423a7546d3fa%?c04640c38f366949c04641709310129dc0463faccd53048ac0%?4640937d1fe64fc04643baf533f423c0464682491afc05c046%?4892ff4ba51ac046465bd944aa54c04643c48f10a99bc04641%?4a2339c0ecc0463e8c692f6e83c0463c85553ef6b6c04638e0%?eb67c287c0463562f166e009c04631f82b1f687bc0462ffab9%?6f21f7c0462fdde37585bec0462e107b784663c0462e970f7b%?9e06c0462f90fb65668cc0463167fd3f5b60c04630b1572580%?c3c0463231df761cbdc0463291fb3fa6dfc046350c6f7a0b5f%?c046360ff540895dc04639075b3e1438c0463ca22b3892efc0%?463ff9b56323bcc0464230db6a1e82c046441b1960fa16c046%?45dedf1e0829c04646ff43419e30c04649c69728a611c0464c%?845132f87bc0464f11f926c7ebc04650d5c74751cec0465273%?1d2e0e30c04653e060fe4799c0465376ab5807ffc04652c99f%?1ae2dac04653b0574b4070c04653c38b04ab60c0465514013e%?c461c04653f39d1b2e5ac046547a311e85fdc0465707d91255%?6dc04659b256ffc116c0465ae5f7403ddec0465b293d102bc7%?c0465a55c0fcb4f2c0465767fd3f5b60c0465681450efdcac0%?4654ed8904f6e0c04654aa433508f6c04658584f4c6e6ec046%?5a1c15097c81c0465a990f301eacc0465e170931012ac04661%?04d551d68cc04663626b2f2303c04666d6c2efd439c0466981%?4940bbb2c04666d6c2efd439c04663b8ed1bf7adc046619503%?31e3a8c0465e93faf42785c0465b293d102bc7c0465845132f%?87adc0465a2f51266341c046574185058ddec0465466f5019f%?3cc0465182cb20fb22c04650af4f0d844dc0464e2b4959e625%?c0464bcdab191ddec0464caac1094a2cc0465088df37329cc0%?46519fa11a975bc0464e950763a190c0464c4aa53fc009c046%?4a26bb55ac04c046481fa7653437c04646bbf50e3476c04643%?ce3150dae4c04641709310129dc0463f73215fcc18c04641f7%?27136a40c04644e4f3343fa3c04647ef954eb13ec0464add59%?0c0dd0c0464e21a719b4ddc0464b9da16616b5c04649366948%?98f6c046466573215fccc04642a433508f65c0463fc9a34ca0%?c3c0463ebc7b45f17cc0463fdcdf698783c04640a6b93ccd10%?c04641709310129dc04643fe43675dddc04646ff43419e30c0%?464ab6e935b91fc0464a606748e475c04646ff43419e30c046%?4501c92ddbdbc04643178b370047c04644f82f512663c04647%?1c193b3a69c04649e36d22424ac0464832db1e9f27c0464983%?5158b828c0464b471715c63bc0464c677b395c42c0464dcb25%?2ce033c04650a5b530ced5c0465389df1172efc04652acc921%?46a2c04651c6195464dcc04651a9435ac8a3c0464fe5753a3e%?c0c0464d3af74cd317c0464f2ecf206424c04651a9435ac8a3%?c046534699418506c046536d0917d6b6c04654bd7f51efb7c0%?4656513b5bf6a1c04658f217093101c0465b7fbefd0071c046%?5ce371540032c0465fbdf8f47304c046639c17225b75c04666%?46950fc71dc04666e065300581c0466482c6ef3d3ac046618b%?60f1b25fc0465f4aa10e0221c0465c66772d5e07c0465a990f%?301eacc0465b3c792d1288c0465ea737110e45c046616e8af8%?1627c04662f8ad256799c046615b573eab36c04664191148fd%?a0c04666e065300581c0466951372a38b9c04666636b096356%?c046643f811f4f51c04662ef1348b220c04665c9a34ca0c3c0%?46655fe542e558c0466482c6ef3d3ac0466723aafff36bc046%?660ce91c8eacc04665a32b12d341c046669d16fc9bc7c04667%?e3eaf6837fc04667b3e1437c57c04669044f1a1987c0466b7e%?baf10236c0466c3efae7924bc0466c0ef1348b22c0466b7eba%?f10236c0466e4fb1183b60c0466fd031055b8ac04672b45ae5%?ffa4c04674b1d4f9c1f8c046737e3d1cc101c04676157eed45%?e9c046758eeae9ee46c046757214f0520dc04677a93af74cd3%?c04679c38b04ab60c046769c12f09d8cc046752ecf206424c0%?46754ba51a005cc04673d4bf0995abc04672b45ae5ffa4c046%?70e6f2e8c048c0466e92f6e8294ac0466c8be2f7b17dc0466d%?08dd1e53a8c0466eb96f21f6cbc04670605ee568a5c046724a%?a53fc009c046754ba51a005cc046779fa11a975bc04677a93a%?f74cd3c0467a40852b4d8cc0467a5d5b24e9c4c0467a708ede%?54b5c0467c47991bc558c0467c178705425fc0467ecba732df%?50c04681594f26aec0c0468309e12a51e3c0468162e9036439%?c0467e01c4fc1df3c0467bf1172ef0aec0467da1a93293d1c0%?4680a2a90cd424c04682a9bcfd4bf1c0467f5bd512ec6cc046%?7fb256ffc116c046822cc2d6a9c5c046854aa10e0221c04687%?bb73083559c04687c50ce4ead1c04688d234eb9a17c04688a2%?22d5171ec0468aec84f8f8a5c0468d1a11233df3c04689af4a%?dbc665c0468b7318fc5048c0468dc714fce747c046905e56cd%?6c2fc04691aecd07852fc04692c58eeae9eec046955336deb9%?5ec04696a3ad18d25fc04697cdab191ddec0469a2b40f66a55%?c0469c6c00da1a93c0469e8650e77920c0469fe060fe4799c0%?46a053b8e4b87cc0469ee675147f13c0469cfc2eba27afc046%?9c6266fd651bc0469fb9e8c47a18c046a2baf102363bc046a2%?f49cf56eadc046a5cf2cf95d4fc046a9137b07075bc046ac7e%?38eb0319c046ae854cdb7ae5c046ae7bb2fec56dc046aed234%?eb9a17c046ad0e66cb1034c046ac013ec460eec046abf7a4e7%?ab75c046ab40fecdd0d9c046ad9e94ab1d50c046b1095af294%?ddc046b1acc4ef88b9c046b2f398e97072c046b1864cb5bb38%?c046af3250b5243ac046ae4ba0e84274c046ad7824d4cb9fc0%?46b065f0f5a101c046b16976bc1f00c046aed234eb9a17c046%?ac3150dae3e7c046a97d30ad46f6c046a81986b9c305c046a6%?38eb0318b9c046a62f48c2e771c046a74face67d78c046a7f3%?16e37154c046a9d3bafd9770c046ad3e78e1932dc046ad94fa%?ce67d7c046add84901d191c046afaf4adbc665c046b035dedf%?1e08c046b13964a59c06c046b34a1ad6451cc046b4d43d0396%?8dc046b6ab3edd8b61c046b577a7008a69c046b7d53cddd6e0%?c046b938e6d15ad1c046baf312b1b36cc046b9f926c7eae6c0%?46b92f4cf4a559c046bb2cbea4ebddc046bb198aeb80edc046%?bb967caea748c046bde0ded288cec046c12ec6bce853c046bf%?57c4e2f380c046c034dad31fcdc046c258c4bd33d3c046c4d3%?30941c82c046c412f09d8c6dc046c258c4bd33d3c046bf1e18%?efbb0ec046be40fa9c12f1c046bd9d909f1f15c046bcfa26a2%?2b39c046bba01eeed890c046b8656abde3fcc046b5c486ad2d%?cbc046b400c0f01fb8c046b3b3d8e00086c046b46a7ef9db23%?c046b7fbacb42891c046b7450efdc9c5c046b79b90ea9e6fc0%?46ba62e4d1a650c046bd0d62bf11f9c046bc605ee568a5c046%?bea11ec918e3c046c07820a30db7c046c23254e6e222c046c4%?1c92ddbdb6c046c29270b06c44c046c1553ef6b5d4c046c168%?72b020c5c046c12ec6bce853c046c2d5bee3d5fec046c50342%?aa9f7bc046c6407cc7d1bbc046c4d330941c82c046c50ce4ea%?d0c4c046c666ec9e236cc046c49984a0e411c046c50ce4ead0%?c4c046c7d438d1d8a5c046c954b8bef8cfc046caf20ea5b531%?c046cb0ee49f5169c046ca61e0c5a815c046cbcf2495e17ec0%?46cf003eea209bc046cf1d14e3bcd3c046ce7008a697afc046%?cf9a06a6e32ec046d23150dae3e7c046d5d5bab21816c046d9%?aa369fcf3ec046d8a6b0d95140c046d8b9e492bc30c046db51%?2ec6bce8c046da4406c00da2c046d9c70c996b76c046dbbaec%?d07853c046ddc200c0f020c046dd1e96c3fc44c046dbfe32a0%?663cc046da30caa326e1c046d92d44dca8e3c046da0d5accd5%?30c046dc2e44b6e936c046dcc814d7279ac046de221c8a7a42%?c046dfe5eaab0425c046e0d63cb81733c046e273929ed395c0%?46e32a38b8ae32c046e3470eb24a6bc046e527b2cc7086c046%?e7abb8800eaec046e982c2bd7f52c046e80bdcad14a1c046ea%?0956c0d6f5c046eb6d00b45ae6c046e98c5c9a34cac046e935%?daad6020c046e9c6088d6d3bc046eb0cdc8754f3c046eb769a%?91105ec046ecbd6e8af816c046ef2e40852b4ec046f0aec072%?4b77c046eeeafab53d64c046ef1b0ccbc05dc046ef8e64b231%?40c046f1b24e9c4546c046f315f88fc936c046f12bba98eda2%?c046ef97fe8ee6b8c046f0ded288ce70c046f12bba98eda2c0%?46f2b5dcc63f14c046f43ff69014b6c046f496787ce960c046%?f2f922962cfec046f19f127f5e85c046f37fb69984a1c046f5%?003686a4cac046f693f290abb4c046f75432873bc9c046f7da%?c68a936cc046f93e707e175dc046fa385c67dfe3c046fb6bfc%?a85cabc046ff40789613d3c046fff71eafee70c046ffc70c99%?6b76c046fe167a95c854c046fb0bd87b56b8c046fa7210be94%?25c046fd3964a59c06c046fcb2d0a24463c046faef0281ba80%?c046fd2fc2656abec046fb4f26aec072c046fe033e78e193c0%?46feb9e492bc30c0470030caa326e1c04701d7ba6698bbc047%?025e4e69f05fc04703fbacb42891c047043ef284167bc04703%?ded6ba8c58c04705f91e646f15c04704ff327aa68fc04705c9%?14b167ecc04707a9b0681238c0470950a88effe3c0470c3e74%?afd545c0470b9b0db2e169c0470993ee5eedccc04707e35c5b%?4aa9c047096d7e889c1bc0470b0dd46f587dc0470c04c05921%?04c0470e58bc59b802c0471042fa509396c0470fe2de870974%?c04710dcca70d1fac04712c70867ad8ec0471240746455ebc0%?471193708aac97c0471390ea9e6eebc0471507c84b5dccc047%?1855b8993922c0471bad3a604e1ec0471daab4741073c0471f%?c504816f00c047211572580c31c0471fb1c8648840c0471dbd%?f090f734c0471ce0daa0cae6c0471a96787ce960c0471a9678%?7ce960c0471bca1059ea57c0471b437c5692b4c04719292c49%?3426c0471b906466b1e6c0471b7d2849cb25c04719a6266fd6%?52c047187c286f8ad2c04715ee807bbb62c047154b167ec786%?c0471825a682b628c0471bca1059ea57c0471f17f84449dcc0%?471f9e8c47a17fc0471cb0c88a47edc0471cfdb09a671fc047%?1de4606748e4c0471f9e8c47a17fc04721af42784a94c04721%?9c065b63d4c04723f9a49c2c1bc047228c586876e2c04720a2%?1a719b4ec0471fd8409e55c1c04721af42784a94c04723f9a4%?9c2c1bc047255d4e8fb00cc0472613ec460ed8c04726faa476%?6c6ec04728d1a6506141c0472928283d35ebc04727c47e49b1%?fbc0472884be40420fc0472a789e774eecc0472c6c764adff8%?c0472c7fb267c6b9c0472dd0203e63e9c0472ef08461f9f0c0%?472ef08461f9f0c0472dd9c27e9531c0472e906034f3fec047%?30e45c358afcc047329e90795f67c04734e8ea39c51ec04737%?b9e060fe48c04739b75a74c09cc0473c01b4352652c0473b7b%?2031ceafc0473e1c044284e0c04741b6d43d0397c04744fb22%?4aada3c047465ecc3e3194c0474912ec6bce85c0474a936c58%?eeafc0474cd42c3c9eedc0474e7182235b4fc0474cf102363b%?25c0474ae9ee45c359c04748cf9e3864cbc04749c98a222d51%?c0474b7082491afcc0474dfe2a3cea6cc0474fdece571088c0%?475292e62131a9c04755cd9a52263ec0475908461f9f02c047%?5b2c3009b307c0475de050374ff8c0475fb7521144ccc0475f%?4d94078961c0475c8640208180c0475a88c60cbf2bc0475774%?8a159818c04755ba5e353f7dc047544d1a650614c04751ef7c%?243dcdc0474edb402d16b9c0474d77963992c9c0474f61d430%?6e5dc0474e97fa5d28d0c0474d0dd82fd75ec0474e8e581cf7%?88c0474fa52263d817c0475245fe111277c0475142784a9479%?c0475232ca57a787c0475439de481f54c04755e0ce0b912ec0%?4758a82a5614e0c04759beec39799ec04759686a4ca4f4c047%?5b3f6c2699c8c0475ca3161a1db8c0475ee3de6149c7c0475e%?aa2a0d9585c0475ca3161a1db8c0475b2c3009b307c0475cb6%?52370479c0475ebd66277c46c04760645e4e69f0c047611afc%?04c8bdc04762750c1b9735c04763a8ac5c13fdc04764b5cbff%?4773c04763a8ac5c13fdc047653c60029f17c04766bce8533b%?10c04765292c493426c0476562d83c6c98c04766bce8533b10%?c047695dc4007571c0476877143393abc04769f79420b3d5c0%?47680d5629d841c04766bce8533b10c04767ca1059ea57c047%?665cc426351ec04768209246bf01c04769e45803cd14c0476a%?27a63736cec0476b64e054690ec0476d88ca3e7d13c0476f12%?e40852b5c0476c853c148345c0476ef60e0eb67cc04770200c%?0f01fcc0477274080f98fac0477260cbf2b23ac0477317720c%?8cd6c04773fe2a3cea6cc0477738d60d6330c04779d9ba1b19%?61c0477936501e2585c0477afa1e3eaf68c0477b93e5fb71fc%?c04779bce4217d28c04776822ff08894c04776ebedfa43fec0%?47771c0010c6f8c04778a6223e186ac04778894c447c31c047%?7afa1e3eaf68c0477bb0bbf50e34c0477afa1e3eaf68c0477a%?09cc319c5ac0477b771001d5c3c0477ce45c358afcc0477d87%?c6327ed8c047807f2c3009b3c047822fbe33acd6c04782c985%?f06f69c0478527243137b0c04786e15011904bc04786fe260b%?2c84c04787c7ffde7211c047898bcdfefbf4c0478a2f37fbef%?d0c047875e4a383276c04786779207d4e1c04787c7ffde7211%?c04788c1f42bb667c0478a68e3ef2841c0478a38da3c2118c0%?47891876188b11c047892bb23571d2c0478b3c60029f17c047%?8d86c226809dc0478da398201cd6c0478f10dbf0563fc0478e%?93ea2d2fe4c0479061522a6f3fc047919e83e425afc04790e7%?e62dc6e3c047924b90214ad3c04793e8e6080735c04796b039%?ef0f17c0479860cbf2b23ac047958fde2ef4e0c04793e8e608%?0735c04793fc2224edf6c0479603361565c3c047966cf41f21%?2dc047990dd82fd75ec0479b884406c00ec0479d4c122749f1%?c0479ed62bf11f92c0479eafbc1acde2c0479ca8a82a5615c0%?479a8e581cf788c04798f0f9d2bf55c04799e14bdfd263c047%?9c521dda059ac0479f5cbff47736c0479da294141e9bc0479e%?cc92146a1ac047a01cffeb074ac047a056abde3fbcc047a374%?8a159818c047a3d4a5df223ac047a357b41bfbdfc047a67f23%?cc8de3c047a92007dd4413c047ac6455eaee20c047aa36c9c0%?a8d2c047aa19f3c70c99c047ac6455eaee20c047afb23dd54d%?a5c047b0a28fe260b3c047ae750c1b9735c047b12923e5b856%?c047b25cbbc2b94ec047b3e6ddf00dbfc047b4c3f3e0370dc0%?47b5976ff3ade2c047b46d71f36263c047b3905c033615c047%?b5d11be6e654c047b8d21bc126a6c047ba7913e81451c047bb%?7c99ae924fc047bc0ccff21b3bc047bb863beec398c047bb1c%?7de5082dc047bbbfe7e1fc09c047ba7913e81451c047b96beb%?e1650dc047b73e5fb71fbcc047b5bddfc9ff93c047b29667b5%?f1bfc047b12923e5b856c047b1e963dc486bc047b36049ecb3%?1cc047b403b3e9a6f8c047b5d11be6e654c047ba0f55de58e6%?c047be00a7c5ac47c047be9a77e5eaabc047be43f5f91601c0%?47bfc475e6362ac047c15831f03d14c047c338cda6e760c047%?c43c5bd0e12fc047c7a719b4dcecc047ca04b7f5a533c047cb%?7b95a29414c047cc624dd2f1aac047cdd933e35c5bc047d040%?639d5e4ac047d31159c49774c047d5b23dd54da5c047d93037%?d63023c047dac3f3e0370dc047de5ec3dab5c4c047dda81dc0%?db27c047db7a919695d9c047db40e5a35d68c047dc3137b070%?76c047de2eb1c432cac047e1695d91ab8fc047e46a65cf67b2%?c047e6a18bd66278c047e74e8fb00bccc047e9bf61aa3f03c0%?47ebc6759ab6d0c047edcd898b2e9dc047ef4e11dbca97c047%?f1dbb9cf9a07c047f45fbf83382ec047f6ed6777079ec047f9%?ab21815a08c047fb6555c52e73c047fca2877ee4e2c047febc%?d78c4370c0480063cfb3311ac048027e1fc08fa8c048023ad1%?8d25eec0480347f993d534c048065c358afc48c04808467381%?d7dcc0480dd41b75a74cc0480d61c36976bcc0480f55a3a083%?99c048110fcf80dc33c04812fa0d77b7c8c04814ededaec4a4%?c0481407357e670ec0481243675ddd2bc048127379746024c0%?48123033a4723bc04813c3efae7925c048146759ab6d01c048%?15fb15b573ebc048177b95a29414c0481828997c3d68c0481a%?efed63454ac0481e644d877250c04821a89b951c5cc0482590%?539fba45c0482569db65ecc4c04824c67168f8e8c04823b949%?6249a1c04821654d61b2a2c0481dddb9841aacc0481dddb984%?1aacc04820e85b9e8c48c04822e5cd4ed2ccc048233c579f23%?46c04820aeafab53d6c048210531982880c04823a615a8deb1%?c0482633bd9cae21c04827c779a6b50bc04828c165907d91c0%?4829e1c15097c8c0482964cf8d716dc0482a685553ef6bc048%?2cb2b777d0f2c0483027179bfdf8c04833debd9018e7c04836%?6c6583e857c048393d5347a5b1c0483c518f3eccc4c0483e3b%?cd35a858c0483e925785f8d3c0483ef2734f82f5c0483f9f7f%?8ca81ac0484026138fffbdc0484026138fffbdc0483d551d68%?c693c048392a1f8e3ac1c04835b5bf6a0dbbc0483267d77fae%?36c0482f2389720429c0482ba58f7121abc0482a4b7f5a5333%?c0482c6f69446738c0482f2389720429c0483271715c63aec0%?4836893b7d8490c04839a71151611cc0483c518f3eccc4c048%?3dc8754f3776c0483c3e5b8561d4c04839ea5f84cad5c04838%?4d013a92a3c04837363f572de4c048364f8f8a4c1fc048366c%?6583e857c048384d013a92a3c0483a70f3882279c0483e58ab%?92c062c048410cc35ce182c0484236c15d2d02c04845115161%?1ba4c04845db2b346131c048479ef954eb14c0484992d1287c%?20c0484b4d056c508bc0484cba493c89f4c0484eb7c3504c49%?c0485038433d6c72c048531c75818c5dc04855e3c968943ec0%?48587b0b391926c0485a052d666a98c0485d0fc71d6063c048%?5e569b17481bc048602da554b8bfc04862217d2849cbc04863%?c8754f3776c04866260b2c83edc048682385404641c0486823%?85404641c0486b97e5647347c0486d521144cbe2c0487022ff%?08893bc04871d3910c2c5ec048711cf355cd92c04873240746%?455fc04875c4eb56fb8fc04876e5471715c6c04878ff972474%?54c0487a332f01754bc0487bd08d4bad7dc0487edb2702a348%?c0488292ccf6be38c0488654152b0d70c0488a4567125dd1c0%?488d59a30984e4c0488fd41743e964c048936544fe36d2c048%?96a9930be0dfc04898a70d1fa333c0489a7e0ef99807c0489c%?2ea0fd3b2ac0489df26f1dc50dc0489fefe9318762c048a1c6%?eb0b7c35c048a26a55087011c048a3cdfefbf402c048a50b39%?192642c048a66ee30caa32c048a738bcdfefbfc048a7ef62f9%?ca5cc048a8dfb506dd6ac048aac059210386c048ac4a72ead9%?27c048adcaf2d7f951c048af5eaee2003bc048b088ace24bba%?c048b1d9231c64bbc048b4237cdcca71c048b5ad9f0d1be3c0%?48b6fe0ce0b913c048b78e432441ffc048b7d188f42fe8c048%?b75e310dbf05c048b861b6d43d04c048ba38c111ada7c048bc%?831ad2135ec048be0d3cff64d0c048c0c154c985f0c048c211%?cb039ef1c048c2c868b9fdbdc048c4b2af145522c048c82706%?d50657c048cb14d2f5dbbac048ce6c54bcf0b7c048d2540cc7%?8e9fc048d67f13059642c048d88626f60e0fc048d88626f60e%?0fc048d6af1cb89d6bc048d4c4dec1c1d7c048d19d66adb403%?c048ce45e4e69f06c048ccd898b2e9cdc048cb31a8ef77f2c0%?48c8fa82e87d2cc048c6d698fe6927c048c54c76d117b5c048%?c4e2b8c75c4bc048c58622c45027c048c689b0ee49f5c048c5%?d30dd46f58c048c4528ae74f2fc048c3924af0bf1ac048c1e1%?b8ed1bf8c048c0a47ecfe9b8c048c0a47ecfe9b8c048bf9756%?c93a71c048bddd2ae8e1d6c048bc7980f55de6c048b9ff151e%?7536c048b89b62c77575c048b75e310dbf05c048b5fa871a3b%?15c048b72e1ef73c0cc048b65109070fbfc048b5ca7503b81b%?c048b3934efcbd55c048b1528f190d17c048b2092ccf6be3c0%?48b088ace24bbac048af5515054ac3c048aed81adea897c048%?b10f40e5a35dc048b479fec99f1bc048b7b4b2fa93afc048ba%?726d04e619c048ba55970b49e0c048b83b46fdeb53c048b664%?4523f67fc048b6a78af3e469c048b921f6cacd18c048bb4f82%?f51266c048ba85a921ccd9c048bbd616f86a0dc048bea704bc%?2763c048c177fae3608dc048c31ef30d4e38c048c418def416%?bec048c448f10d99b7c048c6599ed7c6fcc048ca1144cbe1eb%?c048cd8f3eccc469c048cfbccaf709b7c048d1ea4ebdd335c0%?48d37470eb24a7c048d28db8bac711c048d01ce6c093d9c048%?ce4f7ec3547ec048cc6540cc78eac048ca2480e8c8acc048c9%?e132b55ef2c048cb882adc4c9dc048cd1be6e65387c048cf19%?60fa15dbc048d10d38cda6e7c048d387ad080b67c048d69246%?bf0132c048d96cd6c2efd4c048da7064ece9a3c048dd1148fd%?9fd3c048dc7778dd6170c048de61b6d43d04c048e0ac18f81e%?8ac048e48094e5d5b2c048e8383ad9f0a2c048e988a8b08dd2%?c048ea5c24c404a7c048ea5c24c404a7c048ebac929aa1d7c0%?48eb7c88e79aaec048eb8fbca1059fc048eac5e2cdc012c048%?eb09289dadfbc048ead91eeaa6d2c048e9f266ba493dc048e8%?7b80a9de8bc048e9a57eaa2a0bc048eb42dcf4623dc048ece0%?32db1e9fc048eed40daeafabc048f067c6b8b695c048f1a500%?d5e8d5c048f02480e8c8acc048ee4d76ab5808c048ed36b4c7%?f349c048ece032db1e9fc048ed1044f1a198c048eded5ae1cd%?e6c048efc45cbbc2b9c048f1deacc92147c048f13b42cc2d6b%?c048efc45cbbc2b9c048eefa82e87d2cc048f0b4aec8d5c7c0%?48f3859c8c9321c048f60010c6f7a1c048f8d0fe8ab4fac048%?fc4ef88b9778c048feefdc9c4da9c049013a3ec02f30c04903%?ee568a5050c0490775f2cb6417c0490b8db4890929c0490e98%?56a37ac4c04911d30270f388c04913d07c84b5ddc0491473e6%?81a9b9c04916f7f498c3b1c0491a7f88765ba7c0491e540464%?12cfc04920ce789e774fc04922fbfc6540ccc04925b9b66f93%?36c04927e74299d884c04929079e59f2bbc0492ab8305d95dd%?c0492d7f8ca8198fc0493123f67f4dbec049333e468cac4bc0%?4934a1f080303cc0493618d6909aedc04937861a60d456c049%?380cae642bfac04939d07c84b5ddc04939b3a68b19a4c04938%?4ffc9795b3c0493a4d6e47dc38c0493b9de481f538c0493dd5%?0d88effec0493c2478854cdbc0493b20ea5b530dc0493ef566%?490d35c04942f9f44d4456c04945612c6ac216c049466e5471%?715cc04948a57a786c22c0494a8fb86f47b6c0494c8d32830d%?0bc0494ed78c436fc1c049521bda5119cec04955869835158c%?c049587dfe32a066c0495ac8605681edc0495b020c49ba5ec0%?495cc5da6a4441c0495e934267839dc0495ba57646ae3ac049%?59049235f80dc04955c9e6687f45c049545c9a34ca0cc04954%?bcbe61cfffc04955869835158cc049560d2c386d2fc04956c3%?d25247cbc049584df47f993dc0495a984e3ffef4c0495cf5ec%?80c73bc0495f23704790b8c049618aa8650e78c04962db163b%?aba8c04963e83e425aeec0496568be2f7b18c0496736262cba%?73c04968a372606facc04967bcba301217c0496809a2403148%?c0496a23f24d8fd6c0496aedcc20d563c04969e0ac7da1ecc0%?4969b09a671ef3c049690d306a2b17c049692a0663c750c049%?6b7460242d06c0496cf4e874c900c0496fbc3c5bd0e1c04972%?d07852f7f5c04975a16616b54ec0497825742dcf46c04979af%?965b20b8c049758e325d4a5ec04972b3a2595bbcc049712980%?2c0d4ac0496f18d25edd05c0496c0e30446b6ac0496a372e6a%?7696c049696d4c33b539c049699d5e4a3832c04969c3ce2089%?e3c04968736049ecb3c0496a8db0574b40c0496dc85c24c405%?c04971b0142f61edc049752e0e30446bc04978f8f041461bc0%?4979e9424e5929c04977bbb62413dbc0497a5c9a34ca0cc049%?7c03925bb7b7c0497e612839042ec04980a1e81cb46cc04980%?a1e81cb46cc0497f049235f80dc04980683c297bfac049826f%?5019f3c7c0498476640d6b94c0498717481b21c4c0498a9542%?1c0443c0498d8ca8198f1dc049904a6223e187c0499341c821%?6c61c0499625f202107bc049970caa326e11c0499ab11409a2%?40c0499c1e603d5779c0499d8ba40d90e2c0499f0c23fab10c%?c049a1601ffb480dc049a47dfe32a066c049a7588e368f08c0%?49aa0ca600b029c049ac43cc07aaefc049aa0ca600b029c049%?ad810624dd2fc049b11bd61f5be6c049b3ecc3e3193fc049b5%?506dd69d30c049b6da9003eea2c049b8e1a3f4666fc049bbe2%?ac322292c049be8387df5cf2c049c1be3c105187c049c515bd%?d76684c049c7f9f01b866ec049cb5171e29b6bc049ceff7dfa%?00e2c049d2b723ee1bd2c049d5a4f00ef135c049d5a4f00ef1%?35c049d7ac03ff6901c049da4ce8101f32c049dc9741d084e8%?c049dfdb8fde2ef5c049e225f202107bc049e4da09cc319cc0%?49e7b499d0203ec049ea38a7e73a36c049eca979e16d6ec049%?eed6fda836ebc049f194b7b28955c049f4e29f9ce8d9c049f7%?5d13d74d59c049fa67b5f1bef5c049fdd273d5bab2c04a0090%?2de00d1bc04a03faebc408d9c04a07827fa1a0cfc04a0d068d%?b8bac7c04a0d4adbc664d4c04a111f57b41bfcc04a1523e5b8%?561dc04a179e518f3ecdc04a194549b62c77c04a1b392189bd%?84c04a1e73d5bab218c04a2127ed84d339c04a21f1cfbb9496%?c04a208e25c810a5c04a1e90abb44e51c04a1d66adb402d1c0%?4a1e90abb44e51c04a1fcde5d18091c04a20db0574b407c04a%?237be9856a38c04a263009b30729c04a291dcd7060bbc04a2c%?6bbdbe3c10c04a2ffceb78897fc04a33f7dfa00e28c04a37fc%?6da44849c04a3bedbf8b9baac04a40225fa658c5c04a4443c3%?a42f1fc04a48050374ff86c04a4bfff79c8430c04a4f7df19d%?66aec04a53359791819dc04a56b39192641bc04a5a74d16334%?83c04a5b0ea18372e7c04a5911276fb092c04a559cc74b838c%?c04a52b89d6adf72c04a4f7df19d66aec04a4bbca9691a76c0%?4a48050374ff86c04a45641f644956c04a42898f605ab4c04a%?3ed1e96c3fc4c04a3bedbf8b9baac04a3a46c764ae00c04a38%?6fc58ab92cc04a356ec5b078d9c04a3203ff69014bc04a2eac%?7da1ec4ec04a2b85058dde7ac04a28070b8cfbfcc04a24af89%?c5e6ffc04a220ea5b530cfc04a205471715c64c04a1db395c4%?2203c04a19fbefd00714c04a172af9a8cdeac04a15070fbeb9%?e5c04a126fc58ab92cc04a0ef1cb89d6aec04a0b9a49c2c1b1%?c04a081c4fc1df33c04a0447d3d4280bc04a00b69db65eccc0%?49fe5907d91255c049fbe835dedf1ec049f9a76d97b310c049%?f719c5a3e39fc049f5ac81d3aa37c049f555ffe6d58dc049f5%?d2f1a9fbe7c049f6a66dbd72bdc049f7a9fbe76c8bc049f6b9%?a9da597dc049f4e29f9ce8d9c049f1a7f3cf7015c049ee205f%?f1d81fc049eb92b7fe08afc049e96ec5b078d9c049e74adbc6%?64d4c049e5308bb90646c049e2b61fe21d97c049e08893b7d8%?49c049ddcae21101b0c049db63a9f383f1c049dac03ff69015%?c049db46d3f9e7b8c049dc10adcd2d45c049dc672fba01efc0%?49dc672fba01efc049dc8405b39e28c049db9d55e6bc62c049%?db63a9f383f1c049dad37c1376d5c049d98305d95dd5c049d7%?256ffc115ec049d54e65bea0bac049d320e1f7d73dc049d0d6%?7fd3f5b6c049cf42c3c9eeccc049cdcbe61cffebc049cade19%?fc2a88c049c9bdb5d89481c049c7868fd199bbc049c56c4827%?b6fec049c56c4827b6fec049c83d35eb7458c049cac144028e%?50c049c7735c182ecbc049c8b08dd1e53bc049c89d5a187a4a%?c049c5590c0dd03ec049c261a60d4563c049bfd3fe1975f3c0%?49bd16440f2389c049baaf0bf1a5cac049b8e1a3f4666fc049%?b8fe79ee02a7c049b8a7f8012dfdc049b5ea3df6db94c049b3%?4959e62563c049b1b59ddc1e79c049b0351deefe50c049aee4%?b0186120c049ae079a2834d2c049ad0dae3e6c4cc049ab4046%?412cf1c049a9b62413db7fc049a80f2becedd5c049a65e99e9%?4ab2c049a444523f67f5c049a28a1dfb938ac049a0a98244e9%?3ec049a310b1feeb2dc049a4612839042ec049a7cbe61cffeb%?c049a9f969e3c969c049a65e99e94ab2c049a2c3c9eecbfbc0%?499f0c23fab10cc0499b97cc39ffd6c04999dd97f62b6bc049%?96c95bff0457c04992eb463497b7c0498f63b256ffc1c0498b%?d27c393682c049895807fed203c04987eac42e989ac0498673%?de1e2de8c04984c34c1a8ac6c04982e2b063e07ac049810ba6%?266fd6c0497f17ce52decac0497d23ee1bd1eec0497b13404e%?a4a9c0497898cc144029c0497554866a11edc04971b0142f61%?edc0496e6bc621b7e1c0496a23f24d8fd6c04966dfa43fe5c9%?c049642b8c75c4a8c04961b1183b6028c0495fa06a6e32e4c0%?495dd30270f388c0495c18ce2d1f1dc0495a11ba3ca750c049%?57f76a2f48c3c04955c9e6687f45c0495392c061847fc04951%?6ed677707ac0494f7af640639dc0494d90b8498809c0494b93%?46994185c04949bc3c5bd0e1c04948322291fb40c04946d812%?7b2cc7c04945879c4113c7c04943e0ac7da1ecc04941eccc46%?9510c04940a5f84cad58c0493f558a761028c0493df1e0828c%?37c0493c97d06bbdbec0493b20ea5b530dc04939a06a6e32e4%?c04936cf7caa758ac04933d816aceaafc049312d905c0336c0%?492ebcbe61cfffc0492c2f166e008fc0492af1e4b44a1fc049%?29be4473cd57c049288112ba16e8c0492666c2acb85ac04924%?d306a2b170c04922af1cb89d6bc0491fa47a9e2bd0c0491d8a%?2a90cd42c0491a32a0663c75c049172806af46aac049145710%?880d80c049120cb6c7a7cac049100f3cb3e575c0490e7b80a9%?de8bc0490ccaeea63b69c04909d388a8b08ec0490732a497fa%?5dc0490552007dd441c04904cb6c7a7c9ec0490552007dd441%?c04903b4aa9717dfc04901e74299d884c048fe42d8c2a455c0%?48fb1b60ae9681c048f870e2c12ad8c048f626809d4952c048%?f46c54bcf0b7c048f2d898b2e9cdc048f1f1e8e60807c048f3%?859c8c9321c048f4c2d6a9c561c048f55ca6ca03c5c048f47f%?90d9d777c048f3d2849cb253c048f2f56eac8605c048f1f1e8%?e60807c048f0d184c27200c048f02480e8c8acc048f0a172ab%?ef07c048f1ae9ab29e4dc048f2d898b2e9cdc048f429068986%?fdc048f5a98eda22f7c048f699e0e73605c048f733a8a3f898%?c048f7fd8adab9f5c048f9ae1cde5d18c048fafe8ab4fa48c0%?48fd48ecd8dbcfc0490019da9c9928c049029de8b3b320c049%?058bb4d48883c04907f2e48e8a72c0490bedd8b60f1bc0490e%?5eaab04253c049115faa8a82a5c04914ad9274e22ac049177e%?889c1b54c0491b8316a05575c0491f0daa7ded6cc04921550c%?a1cef2c04924d306a2b170c049279a5a89b952c0492a61ae70%?c133c0492daf965b20b8c049314a66559f6fc049357f06705c%?89c0493949e8815e39c0493c414e7ee914c0493e9ee45c358b%?c04940a5f84cad58c04941eccc469510c04942e6c093d966c0%?4943e0ac7da1ecc04945b7ae5796c0c04947bec2480e8dc049%?498290689870c0494b164c729f5ac0494bfcfc3f811fc0494b%?fcfc3f811fc0494c49e44fa051c0494f2e1693c03cc0495238%?b04ab607c04954ecd07852f8c049587dfe32a066c0495b6230%?76c051c0495e5996744b2bc0495f4046412cf1c0495fa06a6e%?32e4c04962113c68661bc0496344d4456712c04962be40420f%?6fc0496237ac3eb7ccc04964820e629952c04964820e629952%?c04962113c68661bc0495eb9b23dd54ec0495b3bb83cf2d0c0%?4958277c45cbbcc04956d70e6f2e8cc04956c3d25247cbc049%?56fd7e45803dc04958f15e7c8d19c0495a7b784662bbc0495c%?059a73b42dc0495d42cc2d6a9cc0495e5996744b2bc0495f10%?342aa9f8c0495defd86a8fc1c0495e934267839dc0496090bc%?7b45f1c04962db163baba8c049642b8c75c4a8c04966dfa43f%?e5c9c049699d5e4a3832c0496b578a2a90cdc04969c3ce2089%?e3c04968b6ae7d566dc04968736049ecb3c0496860242d05f3%?c049693d3a1d3240c0496a70da5daf08c0496cc4d65e4606c0%?496cb19a415f46c0496cc4d65e4606c0496ef25a250f84c049%?702f944241c4c0497326fa3fcc9fc04976580c308febc04975%?2e0e30446bc0497477681669cfc04974eac8605682c0497661%?ae70c133c049775b9a5a89b9c04978424a276b7fc0497992c0%?61847fc0497b13404ea4a9c0497cea4228997cc0497ea46e08%?f217c0497ee7bc3c5bd1c04980bebe1650a4c049823f4666ec%?9ec0498309203a322bc04982c5d206c871c049826f5019f3c7%?c049838fb43d89cec0498549e01de269c049869a5657fb6ac0%?498720ea5b530dc04987b1183b6028c04988247021d10bc049%?885482385404c049887af20ea5b5c049888e2e2b8c76c04988%?be40420f6fc04988a16a487336c0498927fe4bcadac04989a4%?f00ef135c04989b82c2bd7f5c0498a0eae18ac9fc04989881a%?1554fcc0498927fe4bcadac04989018611fd59c04989881a15%?54fcc04989f1d81f1066c04989f1d81f1066c0498a0eae18ac%?9fc04989f1d81f1066c0498af566490d35c0498d496249a134%?c0498f9d5e4a3832c04991311a543f1cc049926e4c0df58cc0%?4992fe82517e78c04993851654d61bc04993f86e3b46fec049%?943bb40b34e7c04994f25a250f84c049959f5dfeb8d8c04996%?86162f166ec04997d68405b39ec04997d68405b39ec04996dc%?981beb18c0499642c7fbacb4c049958c2a454de8c049955c18%?2ecaefc0499548dc11e42ec0499518c9fb6135c0499548dc11%?e42ec049958c2a454de8c049959f5dfeb8d8c04995ff822bbe%?cbc04997933e35c5b5c04998705425f202c0499a04102ff8ec%?c0499c1e603d5779c0499de225fa658cc0499f9c5a3e39f7c0%?49a1735c182ecbc049a3aa821f2991c049a5e1a8262457c049%?a7f255f3519cc049a9efd00713f0c049ac871a3b14a9c049af%?5807fed203c049b1a26a22b389c049b39fe43675dec049b68d%?a7f3cf70c049b8e1a3f4666fc049bbc5cdd50d89c049beb399%?f5dfecc049c1246bf01323c049c32b7fe08af0c049c4bf3bea%?91dac049c6ecc814d728c049c799cbee807cc049c7868fd199%?bbc049c71cd1c7de51c049c622e5de15cac049c4abffcdab19%?c049c3b213e3e293c049c2e83a109d06c049c20181e03f70c0%?49c1112fd32c62c049bfc0c1fc8f32c049be40420f6f09c049%?bd632c1f42bbc049bbb29a1b9f99c049ba0ba1f4b1eec049b8%?47d3d4280bc049b71dd5d3dc8cc049b7143bf72713c049b82a%?fdda8bd2c049b911b60de968c049ba9235f80991c049bc4c61%?d8622cc049be102ff8ec10c049bfd3fe1975f3c049c1547e06%?961cc049c214bdfd2631c049c3953dea465ac049c4e5b4245f%?5bc049c5cc63f14120c049c6fffbce4218c049c7d377e1b8ed%?c049ca01040bfe3bc049cade19fc2a88c049cba7f3cf7015c0%?49cc8509bf9c63c049cd6bc1eff9f8c049ce95bff04578c049%?d0163fdd65a1c049d1ed4a1ad645c049d4c7d1bb4917c049d7%?98c7e28241c049d798c7e28241c049d60eae18ac9fc049d4a1%?61e4f766c049d42467be553bc049d37763e4abe7c049d2f0cf%?e15443c049d2f0cfe15443c049d3cde5d18091c049d5881a15%?54fcc049d798c7e28241c049d98305d95dd5c049db0385c67d%?fec049dc10adcd2d45c049db9d55e6bc62c049d84f6dfc5cdd%?c049d99fdbd2fa0dc049dd3aabcd78c4c049def4e0114d2fc0%?49dda469d7342fc049de9e55c0fcb5c049e06bbdbe3c10c049%?e10f27bb2fecc049e1a8f7db6e50c049e2ac8605681fc049e4%?66b1e5c0bac049e6e11dbca969c049e59a49c2c1b1c049e86b%?3fe9fadbc049ead26fa3fccac049eccfe9b7bf1fc049eff761%?cbccf3c049f3d57ff9b563c049f59945b6c376c049f69331a0%?8bfcc049f6fcefaa4767c049f72367e414e8c049f719c5a3e3%?9fc049f6e9bbf0dc77c049f65985ad538bc049f63cafb3b752%?c049f7403dddb121c049f92a7bd48cb5c049fbcb5fe542e5c0%?49fe9c4da9003fc04a0223e9ea1405c04a051b4fe79ee0c04a%?0447d3d4280bc04a018a19c9d5a2c049feb923a29c78c049fc%?1847f56217c049fa2e019b0db3c049f9a76d97b310c049f9e1%?21ee6751c049fa7ae9ab29e5c049fb91b3f20d74c049fcb20f%?b224abc049fd08919ef955c049fdef49cf56ebc049ff0fadf2%?ecf2c04a00902de00d1bc04a02371da37ef6c04a0447d3d428%?0bc04a06454de7ea60c04a082f8bdec5f4c04a0ded3d859c8d%?c04a0d078d92fb1ac04a0fcee9dd7eccc04a12f6598e10cfc0%?4a1540bbb1f256c04a170489d27c39c04a18ab7995ee13c04a%?1a8283d35eb7c04a1d8383ad9f0dc04a1fb107746888c04a23%?256798958ec04a250fa58f7122c04a26734f82f512c04a273d%?31b9b670c04a291dcd7060bbc04a2aa7ef9db22dc04a2c3bab%?a7b917c04a2b41bfbdf091c04a29878b7a1c26c04a28371da3%?7ef6c04a2716b97fe8eec04a2522e1ac57e2c04a2251eb851e%?b8c04a21017dae8188c04a226ec17ebaf1c04a238f25a250f8%?c04a26734f82f512c04a29f14983d790c04a2c922d948dc1c0%?4a2de29b6b2af1c04a302cfd8f0c78c04a317d6b65a9a8c04a%?2fa6698bb4d5c04a30f6d7625205c04a32eab7995ee1c04a35%?0507a6bd6fc04a35bbadc0980bc04a394cdb7ae579c04a3b7a%?67a52ac7c04a3d04816f0069c04a405269595feec04a438d1d%?8a5482c04a44ca57a786c2c04a479b456b441cc04a4a0c1765%?7753c04a4c433d6c7219c04a4f27674d1633c04a51682f9442%?42c04a535c0767d34ec04a551fd5885d31c04a56c6c54bcf0b%?c04a58f451761459c04a5bc53f39d1b3c04a5e82f944241cc0%?4a60e09784ec63c04a633e2d6238dac04a65454152b0a7c04a%?672f7f498c3bc04a68a66559f6ecc04a6a3a2163fdd6c04a6b%?eab367a0f9c04a6df1c75818c6c04a6fef416bdb1ac04a71f6%?555c52e7c04a74edbb59ddc2c04a7784fd2a62aac04a7a692f%?6e8295c04a7d9a415f45e1c04a80b81733226cc04a80f1c326%?5adec04a83af7d30ad47c04a86d6f544bb1bc04a8a1b435265%?28c04a8d25e56cd6c3c04a903a2163fdd6c04a931e4b44a1f1%?c04a95bf2f555821c04a993d29563a9fc04a9a9731098d47c0%?4a9dc84b5dcc64c04aa0e62131a8efc04aa1c33721d53dc04a%?a55e071c53f4c04aa99c4113c686c04aad70bd017dafc04ab1%?320535c9e6c04ab4b9991361ddc04ab7d76ee73e68c04abb8f%?1d3ed528c04abed362e90364c04ac1310129cbabc04ac384fd%?2a62aac04ac642b734b513c04ac9307af20ea6c04acc0b0df5%?fd48c04acf1f46ed245bc04ad23382e44b6fc04ad56e371540%?03c04ad882730c6717c04adb8d0cc35ce2c04ade54690de093%?c04ae081ecd4aa11c04ae3bca1059ea5c04ae65d851654d6c0%?4ae847c30d306ac04aeaf240fa9c13c04aee96aad1d042c04a%?f1daf8df7a4ec04af3c536d655e3c04af6b302f72b45c04afa%?00eae18acac04afc8e92d55a3ac04afdcbccf28c7ac04aff72%?bcb5fe54c04b005974e65beac04b010678c0053ec04b01368a%?d68837c04b005974e65beac04b00e9a2c66905c04b0286f8ad%?2568c04b045e02ea960bc04b05c1acde19fcc04b06bb98c7e2%?82c04b08327ed84d34c04b0d1322f27350c04b0c40a6b93ccd%?c04b0f119ce075f7c04b115bf6a0dbadc04b1449c2c1b110c0%?4b157d5a9eb207c04b13e004b7f5a5c04b128f96e15875c04b%?10df04ddb552c04b0f41a6937d20c04b0d1dbca9691ac04b0b%?204af92296c04b08fc58ab92c0c04b07723ee1bd1fc04b065b%?749adc90c04b064840e1719fc04b06bb98c7e282c04b060e94%?ee392ec04b05c1acde19fcc04b03f444e0daa1c04b0286f8ad%?2568c04b00d666a98245c04afecf52b90d78c04afff950b955%?f8c04b01ed30f062d4c04b0286f8ad2568c04b0557eed45e92%?c04b09192ea52ef9c04b0d0d88effe2ac04b0fdb76b3bb84c0%?4b12ac6cdaf4aec04b15b70691ea79c04b18e820e62995c04b%?1c794ea07703c04b20877ee4e26dc04b24057082491bc04b26%?fcd67fd3f6c04b2ab484d76ab6c04b2e75c4a83b1dc04b3240%?a6b93ccdc04b35ab649d388bc04b39e004b7f5a5c04b3e149c%?6f36f0c04b42493c89f40dc04b46275ab7dc7bc04b490b8498%?8095c04b4c463065f959c04b4fd76683c298c04b53254e6e22%?1dc04b56d35a858794c04b5af4be835deec04b5e2f6a50d6b2%?c04b613a0c6b484dc04b655b70691ea8c04b697cd466f502c0%?4b6cc122749f0ec04b703f1c75818cc04b73d9ec700043c04b%?780e8c8abd5ec04b7c2ff08893b8c04b8077c45cbbc3c04b83%?8c0053e2d6c04b873a0c6b484dc04b8a4e48626f61c04b8db9%?06466b1ec04b91972474538fc04b94ab606b7aa2c04b93b16c%?1e364cc04b91972474538fc04b8f09741d084fc04b8c4bc276%?31b6c04b882a5e785b5bc04b8563022dd7aac04b82f23033a4%?72c04b80046c764ae0c04b7cc01e68a0d3c04b7908787485e4%?c04b75e100607810c04b72e0008637bdc04b705bf26f1dc5c0%?4b6ea1c68ec52ac04b714c447c30d3c04b7503ea704bc2c04b%?77316e371540c04b7a7f5e84f095c04b7d3d188f42ffc04b80%?5154866a12c04b839f3c70c997c04b86702a3486f0c04b8967%?903211cbc04b8c120e1f7d74c04b8d159c497742c04b8e82e8%?7d2c7cc04b906d26740810c04b8e961c36976cc04b8dcc4263%?51dfc04b9003686a4ca5c04b933e1437c569c04b95fbce4217%?d3c04b9906705c896ec04b9c7ac81d3aa3c04b9ee2003ab863%?c04ba182e44b6e93c04ba4a0ba1f4b1fc04ba798201cd5fac0%?4baabf9830e3cec04bae33f85510d4c04bb181e03f7058c04b%?b599a1fd156ac04bb9815a07b353c04bbd55d5f56a7bc04bc0%?dd72367e41c04bc49eb2074ea9c04bc8a3400b88cac04bccc4%?a4095f24c04bd102de00d1b7c04bd4b0ea18372ec04bd81ba7%?fc32ecc04bdba33bd9cae2c04bdf77c02afddbc04be37c4e2f%?37fcc04be74727dcbddcc04beb1209edbf8cc04bee096feb4a%?66c04befcd3e0bd44ac04bf25143bf7271c04bf4fbca1059ea%?c04bf6991ff7164cc04bf44523f67f4ec04bf28155d5f56ac0%?4bf3ab53d640eac04bf2d7d7c2ca15c04bf1b77c02afdec04b%?f0da66128390c04bf06705c896ddc04bf100d5e8d541c04bf3%?07e9d94d0ec04bf2c4a4095f24c04bf28155d5f56ac04bf337%?fbefd007c04bf548a9bcfd4cc04bf8d045fe1112c04bfc6b15%?f88fc9c04bff7f51efb6ddc04c0246a5d6bebec04c0624c404%?a72fc04c09dc69f8c21ec04c0d2a51e321a3c04c100e7bc3c5%?bdc04c1352c9d16fcac04c172745bf26f2c04c1a7ecfe9b7bf%?c04c1d62f9ca5bd9c04c20ba83f4eca7c04c244217d2849dc0%?4c27f023e9ea14c04c2b3e0bd44999c04c2f1c219eb639c04c%?32a3bddfca00c04c3591819d2392c04c394927913e81c04c3c%?709fa54c55c04c3ff83382e44bc04c43ccb7d41744c04c47aa%?cd9e83e4c04c4b459d99029bc04c4f1a1986b9c3c04c5224bb%?a12b5ec04c54ff4ba51a00c04c58e703afb7e9c04c5ceb91b3%?f20dc04c61035371971cc04c6507e175d13dc04c6855c96030%?c2c04c6c5a57646ae4c04c6fb1e18efbb1c04c73c0096feb4a%?c04c77e16d6dc1a4c04c7bb5e95b78cdc04c7f0d7386099ac0%?4c816b09635611c04c83abc947064fc04c8759d55e6bc6c04c%?8930d738609ac04c8974256bca53c04c8a3dff3f0fe0c04c8b%?e4f765fd8bc04c8d6577531db4c04c8ee5f7403ddec04c9053%?4373f317c04c911d1d4738a4c04c914395810625c04c916a05%?5757d6c04c922a454de7eac04c93075b3e1438c04c93a12b5e%?529cc04c9457d1782d38c04c9521ab4b72c5c04c9698915bdd%?76c04c99564b662fe0c04c9ca433508f65c04c9f3b7521144d%?c04c9fdedf1e0829c04c9eab47410731c04c9d0df15a4acfc0%?4c9b1a11233df3c04c99564b662fe0c04c97e8ff327aa7c04c%?97158b827fa2c04c9655432873bdc04c962ed352220cc04c96%?55432873bdc04c974f3775b813c04c979c1f85d745c04c9698%?915bdd76c04c9521ab4b72c5c04c93a12b5e529cc04c92f427%?84a948c04c9280c73abc94c04c91f0995aaf79c04c91439581%?0625c04c92a73f748a16c04c9474a771c9717ff7ffffffffff%?ffc04d000000000000c04cfd37eb28d866c04cfada4ce8101f%?c04cf8bffcdab192c04cf6c28b2a6b0ec04cf50856e696a2c0%?4cf31e18efbb0ec04cf0fa2f05a709c04cee3c74fb54a0c04c%?eb91f70de8f7c04ce9178b370047c04ce6e9ff0cbaf9c04ce4%?9f9ce8d973c04ce255432873bdc04ce0ae4b018612c04cde80%?c73abc94c04cdc49a133c1cec04cd978ab0c88a4c04cd6a7bd%?48cb4bc04cd39d1b2e59b0c04cd0fc371da37fc04ccee1e710%?44f2c04cccd1394317adc04ccb471715c63bc04cca4d2b2bfd%?b5c04cc94003254e6ec04cc7b5e0f7fcfcc04cc5b86f47b678%?c04cc3a7b9170d63c04cc27dbb16c1e3c04cc123aafff36bc0%?4cc09d1f601798c04cc076a7264a17c04cbd626b2f2303c04c%?ba31593e5fb7c04cb76a055757d6c04cb455c96030c2c04cb1%?67fd3f5b60c04cadf39d1b2e5ac04cab190d173fb8c04ca8b1%?dd5d3dc9c04ca6543f1c7582c04ca3ed0f627393c04ca16901%?4b599bc04c9f4eb13dfb0dc04c9d178b370047c04c9ad6cb53%?5009c04c98ec8d5c7475c04c974f3775b813c04c96420f6f08%?ccc04c954823854046c04c9487db2b3461c04c94c18f81e8a3%?7ff7ffffffffffffc04c971f255f351ac04c9aea077036cac0%?4c9d479d4d8341c04c9eee957470ebc04ca0d8d36b4c7fc04c%?a3232d2bb235c04ca1c925785f8dc04c9e5e5f30e7ffc04c9a%?8049667b5fc04c9745953586cbc04c94917d6b65aac04c92ba%?732df506c04c8f294573a798c04c8b980f55de59c04c8a6e11%?5592dac04c8d3f077ccc03c04c90366d7a56dec04c92c4156e%?264ec04c95782d38476f7ff7ffffffffffffc04bfce807bbb6%?24c04bff928e0c9d9dc04c034091c08744c04c06b4f1e4b44a%?c04c0d6c97d8cf3ac04c0d4628027d89c04c08c59fb1e18fc0%?4c06a1b5c7cd8ac04c0400d1b71759c04c0035f8099179c04b%?fcae5bc87db3c04bfa940bbb1f25c04bf7a647fdc593c04bf8%?79c4113c68c04bfaf42fe82518c04bfce807bbb6247ff7ffff%?ffffffffc04b69f02c4d65e4c04b6d3e1c9b413ac04b71691a%?75cd0cc04b7547304039acc04b791bb4916ca4c04b7d203a32%?2af5c04b80f4be835deec04b8485ec3dab5cc04b85897a67a5%?2bc04b84c93a711516c04b83e28240b780c04b8198288051ca%?c04b7e7a4a48f96ec04b7afc504816f0c04b77d4d834091cc0%?4b74dd72367e41c04b7155de58e64bc04b6e41a261bf38c04b%?6bc7368ad688c04b691cb89d6adfc04b66121682f944c04b64%?1e364bec68c04b6698aa8650e7c04b69a34ca0c2837ff7ffff%?ffffffffc04b5759ee88df37c04b58bd987c6328c04b5a046c%?764ae0c04b5b7b5286b591c04b5d0f0e90bc7bc04b5ed2d44d%?ca8ec04b602ce4649907c04b6173b85e80bfc04b629db65ecc%?3ec04b640b02928177c04b65eb9e492bc3c04b662eec7c957d%?c04b637132724313c04b616a1e81cb47c04b5dec2480e8c9c0%?4b5a6e2a80064bc04b570d0678c005c04b538f0c77dd87c04b%?507136a400fcc04b4dc6b8b69553c04b4a826aa8eb46c04b47%?d7ecbb7f9dc04b491ec0b56755c04b4a78c868b9fec04b4ba2%?c669057dc04b4ce99a62ed35c04b4e3a109d0636c04b4f640e%?9d51b5c04b5157e670e2c1c04b52fede97d06cc04b53abe271%?79c0c04b53d25aab4741c04b5385729b280fc04b55a95c853c%?15c04b57337eb28d867ff7ffffffffffffc047125d4a5df224%?c04711cd1c7de508c047133a604e1e71c0471507c84b5dccc0%?4716e86c6583e8c04718e5e679463dc0471bc0767d34dfc047%?1a6666666666c047187c286f8ad2c04716a5269595ffc04715%?d1aa821f2ac047149e12a51e327ff7ffffffffffffc04732f5%?12663411c04733686a4ca4f4c0473656366d7a57c04738bd66%?277c46c0473883ba3443d4c04736094e5d5b25c047334b9453%?08bc7ff7ffffffffffffc0473be4de3b8a1ac0473a17763e4a%?bec0473b37da61e0c6c0473853b0813cacc0473a779a6b50b1%?c0473b4b167ec786c0473d823422467cc0473af48c2e770cc0%?473896f6512a95c0473a3dee781840c0473d2bb23571d2c047%?40bce8533b10c04744447c30d307c04745eb7457c0b1c04745%?feb074a772c04744de4c51116bc04742d73860999ec047426d%?7a56de33c04741ca1059ea57c04740231832fcadc047406666%?666666c0473f02bc72e276c0473db24638c975c0473cb85a4f%?00ef7ff7ffffffffffffc0474b4a1272c94bc0474be3da2f8b%?dfc0474e116659d12dc0474f61d4306e5dc0474c4d98394749%?7ff7ffffffffffffc047c81a79fec99fc047c6ad2dcb1466c0%?47c4a619da9c99c047c6d3a604e1e7c047ca47fdc5931dc047%?caeb67c286f9c047c8e453d20f2c7ff7ffffffffffffc047d4%?14e7ee9143c047d28ac5c13fd1c047d1adafd11383c047d234%?43d46b27c047d2b135979182c047d1b749adc8fcc047d431bd%?e82d7bc047d7893faf4278c047d9737da61e0cc047da6d698f%?e692c047db8dcdb37c9ac047db40e5a35d68c047da2a23bff8%?a9c047d8a00192a737c047d5e24febd09e7ff7ffffffffffff%?c047da2a23bff8a9c047d9d3a1d323ffc047db0739b024f6c0%?47db8dcdb37c9ac047de986fcdee35c047e0e2c98e53ebc047%?e095e9e1b08ac047e1acabc51548c047de5ec3dab5c4c047db%?aaa3ad18d27ff7ffffffffffffc047e3e3d1cc100ec047e3e3%?d1cc100ec047e58ac18f81e9c047e77ea1c68ec5c047e92f33%?ca31e8c047eaafb3b75211c047e8655193708bc047e7f1f9ac%?ffa8c047e6db37c99ae9c047e5a797891e217ff7ffffffffff%?ffc047f275818c5c9ac047ef3ad5bee3d6c047f0b1bbcf4e87%?c047f365d3996fa8c047f516659d12cbc047f352977c88e87f%?f7ffffffffffffc047eec77dd872f3c047edba55d1c3adc047%?ef1dffc5479dc047f1dbb9cf9a07c047f41c79b34a45c047f5%?4677b395c4c047f395e5aff2a1c047f0b1bbcf4e877ff7ffff%?ffffffffc047fc12599ed7c7c047f8eae18ac9f3c047f5e047%?d3d428c047f365d3996fa8c047f1083dbc2331c047f2a593a2%?df93c047f47c957cd467c047f730b5aa7158c047fa14df8b15%?72c047fb8bc59b8024c047fdd627bf61aac047fcdc33721d54%?c047fcc8ffb8b2647ff7ffffffffffffc0481952977c88e8c0%?481681a9b8cb8ec0481393dd97f62bc0481531337eb28ec048%?162b1f687b14c0481407357e670ec04814842fa50939c04815%?4e09784ec6c048175ebfa8f7dbc04818cc03793144c0481952%?977c88e8c0481b6ce789e775c0481efe1da7b0b4c04822c8f7%?553693c048265a2d72ffd2c04828a48f96e158c04828fb1183%?b603c048282795703f2dc0482646f1561911c04824196d8f4f%?94c048221bf37b8d3fc04820e85b9e8c48c0481f71758e2196%?c0481cbd556084a5c048198c436fc1597ff7ffffffffffffc0%?482b7f1f9acffac0482917e77d523bc04828a48f96e158c048%?265a2d72ffd2c048280dbf76a2f5c04828c165907d91c0482a%?98676a7265c0482c82a5614df9c048300d41a261bfc04831e1%?437c5693c0483374ff865d7dc048362917507e9ec0483869df%?97aaacc0483b3acd5b6806c0483ab439581062c048381cf787%?8b7ac048362917507e9ec048358f4f93bc0dc04832ab1d4f9c%?20c0482e9cf56eac867ff7ffffffffffffc0482fed634549b6%?c0482e333764f11bc0482e9cf56eac86c0482d4c87980f56c0%?482fbd5992428dc04833cb81733227c04834d8a979e16dc048%?3271715c63aec04831e1437c5693c0482fed634549b67ff7ff%?ffffffffffc04835c8fb86f47bc04834487b99d452c048357c%?1376d549c04837bcd35a8588c0483a8dc981beb2c0483da205%?78e5c5c0483bde37585be2c04839a71151611cc04838b6bf44%?4e0ec04835c8fb86f47b7ff7ffffffffffffc04843f0ed3d85%?9dc04843b7414a4d2bc04846a50d6b228ec0484915df6555c5%?c048475bb384fd2ac04844778140dd407ff7ffffffffffffc0%?4847d8a5482385c048475bb384fd2ac0484975fb2edfe7c048%?4b69db65ecc4c0484dd113836a83c0484e312f4cf4a5c0484d%?4a7f8012e0c0484cba493c89f4c04849b9496249a17ff7ffff%?ffffffffc0485fa71151611cc048608427418d69c048629e77%?4eebf6c048663947496aadc0486973f316e371c04868e3c536%?d656c0486548f53c579fc0486234b945308cc0485fa7115161%?1c7ff7ffffffffffffc0485342e557de0dc0485158a7610279%?c0484fc4eb56fb8fc0484dede97d06bcc0484f17e77d523bc0%?4850dbad3a604ec04852d9274e22a3c0485630b178b370c048%?5824894c447cc04858b4b72c5198c048571761459536c04855%?104d551d69c04855104d551d69c0485342e557de0d7ff7ffff%?ffffffffc04845b4bb5e0f80c04845248d7e0264c0484597e5%?647347c048451151611ba4c04843b7414a4d2bc048430d3d70%?a3d7c04844ce032db1eac0484691d14e3bcdc0484992d1287c%?20c0484b39c94f69cbc0484bd3996fa82fc0484ae347629521%?c04849291b823c86c048475bb384fd2a7ff7ffffffffffffc0%?4844343b70ef56c048415011904b3cc0483e62456f75dac048%?3b87b56b8738c0483a07357e670ec0483cc4ef88b978c0483f%?b2b346130dc048416ce789e775c0484447778dd617c0484507%?b784662c7ff7ffffffffffffc04872f3f52fc265c048735db3%?397dd0c0487474751ce28fc0487564c729f59dc048765eb313%?be23c04878bc5154866ac0487a332f01754bc04878ff972474%?54c04879a301216830c0487ba07b352a84c0487f280f12c27a%?c04881c8f32378abc04883c66d373b00c0488486ad2dcb14c0%?4885fd933e35c6c0488469d7342edcc048821f75104d55c048%?81ef62f9ca5cc0488065492ff4bac0487e7168f8e7dec0487b%?5d2d01c0cac0487865c70435f0c048752b1b36bd2b7ff7ffff%?ffffffffc0487e5492ff4ba5c0487d8ab92c0618c04880b231%?4013ecc048821f75104d55c048802b9d3cbc497ff7ffffffff%?ffffc0488670eb24a6a8c0488576ff3ade22c048859d6f112f%?d3c048883e5321e604c04887579af1886ec04884ad1d041cc5%?c04881559b3d07c8c048824f8726d04ec048839ff4fd6d7fc0%?4885ea57214f05c04888f4f93bc0a0c0488c4c7b02d59dc048%?8e83a109d063c04891be553ac4f8c0489408aefb2aaec04891%?ee5eedcc21c048915e310dbf05c0489107af20ea5bc0489020%?f6f08cc5c0488e36b8f9b131c0488f1d712a0ec7c0488db9c7%?368ad7c0488bc5e6ff7dfac0488d9cf13cee9ec0488ce64b23%?1401c0488ae8d10f51adc048883e5321e6047ff7ffffffffff%?ffc048b479fec99f1bc048b4d08919ef95c048b4e3bcd35a86%?c048b72e1ef73c0cc048b6ead0c3d252c048b7e4c51116a9c0%?48b9ebd9018e75c048ba1beb18116fc048b93532e7b3d9c048%?b7b4b2fa93afc048b573f316e3717ff7ffffffffffffc048bc%?d002e23290c048be3d4f15e7c9c048bbb940fecdd1c048bcd0%?02e23290c048beea52ef911dc048c117df19d66bc048c2dba4%?d6e47ec048c1ce7cd03537c048c0914b167ec8c048bf40d4dc%?65c7c048bd69d30270f47ff7ffffffffffffc048c117df19d6%?6bc048c177fae3608dc048c1e1b8ed1bf8c048c435b4edb2f6%?c048c4528ae74f2fc048c241dd1a21eac048c117df19d66b7f%?f7ffffffffffffc048be5a250f8402c048c06138fffbcec048%?c1b1a6d698fec048c2b5350092cdc048c2eee0f3cb3ec048c2%?7b890d5a5cc048c0914b167ec8c048bed716d2aa5c7ff7ffff%?ffffffffc048d8f97edc7ef1c048d7e2bcf91a33c048d86950%?fc71d6c048da5d28d002e2c048d99ce8d972cdc048d91feeb2%?d0a27ff7ffffffffffffc048dc20f6f08cc5c048daed56b00f%?fec048d9e9d0e991ffc048d8c96cc5fbf8c048d8c96cc5fbf8%?c048d98012dfd695c048d8a2fcefaa47c048d9332acfb763c0%?48d91feeb2d0a2c048d88626f60e0fc048d62888b545c8c048%?d8c96cc5fbf8c048da7064ece9a3c048db6a50d6b229c048dc%?7778dd6170c048dc643cc07aafc048da7064ece9a3c048db27%?02a3486fc048de581cf7878bc048de91c8eabffdc048dfe236%?c15d2dc048df2b90a78290c048de14cec41dd27ff7ffffffff%?ffffc048d5e542e557dec048d48198f1d3edc048d464c2f837%?b5c048d6589acbc8c1c048d82f9ca5bd94c048d7cf80dc3372%?c048d67f130596427ff7ffffffffffffc048d1c3dee78184c0%?48cfbccaf709b7c048ce45e4e69f06c048cd1be6e65387c048%?ccf5771001d6c048ce0296b3354cc048cd5f2cb64170c048cd%?1be6e65387c048cd8f3eccc469c048ce9c66d373b0c048cedf%?b506dd6ac048cf530ced4e4dc048d13d4ae429e1c048d2aa8e%?b46349c048d48198f1d3edc048d61554fbdad7c048d6589acb%?c8c1c048d571eafee6fbc048d3a48301a7a0c048d6589acbc8%?c1c048d6cbf2b239a4c048d62888b545c8c048d67f13059642%?c048d6455eaee200c048d5e542e557dec048d2aa8eb463497f%?f7ffffffffffffc048a4c7eae5bc88c048a3342edbb59ec048%?a38116ebd4d0c048a66ee30caa32c048a71be6e653877ff7ff%?ffffffffffc048a8b945308bb9c048a798e10cf5b2c048a51e%?75360d02c048a39dece57109c048a54e7ee9142bc048a738bc%?dfefbfc048a8f2f123c42ac048aaad1d041cc5c048aceddce7%?cd03c048af383f0bae8ac048b2a2fcefaa47c048b6175d13d7%?4dc048b90520d130e0c048b9cf0307f23dc048b7e4c51116a9%?c048b5ca7503b81bc048b4d08919ef95c048b2a2fcefaa47c0%?48afe542e557dec048adcaf2d7f951c048ab76f6d762527ff7%?ffffffffffffc048b135b91f70dfc048b22fa5093965c048b5%?4d7add15f0c048b7b4b2fa93afc048b98bb4d48883c048b9eb%?d9018e75c048b6d79d0d6762c048b36cdf266ba57ff7ffffff%?ffffffc048a6d8a116659dc048a42480e8c8acc048a4ee631f%?8a09c048a738bcdfefbfc048a7a27ae9ab2a7ff7ffffffffff%?ffc048b0cbfb15b574c048ae17dae81883c048ac2403148777%?c048acdaa92e6213c048ad9ae924f228c048b0af251c193bc0%?48b3934efcbd55c048b6ead0c3d252c048ba55970b49e0c048%?bcbcc6c54bcfc048bea704bc2763c048bd09aed56b01c048b9%?a88ace24bcc048b5ad9f0d1be3c048b0cbfb15b5747ff7ffff%?ffffffffc048bd435ac8a372c048b9bbc6eb0b7cc048bb3c46%?d82ba6c048be3d4f15e7c97ff7ffffffffffffc048c06138ff%?fbcec048be46e8f29d41c048bc9ff0cbaf96c048bbf2ecf206%?42c048bea704bc2763c048c18b3700474ec048c448f10d99b7%?c048c3b8bac710cbc048c405a2d72ffdc048c211cb039ef17f%?f7ffffffffffffc048c5694ccab3eec048c689b0ee49f5c048%?ca37bd05af6cc048ce290eed02cdc048d0e6c8f75537c048d2%?b430f49492c048cfa98eda22f7c048cc6540cc78eac048c890%?c4dec1c2c048c509310129cc7ff7ffffffffffffc048d2d106%?ee30cbc048d10d38cda6e7c048d3144cbe1eb4c048d5082cf5%?2b91c048d7059ea57215c048d4049ecb31c27ff7ffffffffff%?ffc048d69246bf0132c048d62888b545c8c048d9d694ccab3f%?c048dd7164c729f6c048dd2e1ef73c0cc048d9fd04a2fcf0c0%?48d69246bf01327ff7ffffffffffffc0492141d084e832c049%?232c0e7bc3c6c049259ce075f6fdc04926d080b673c5c04929%?079e59f2bbc0492a0192a73711c0492c2f166e008fc0492d7f%?8ca8198fc0492e195464dc23c0492cac1094a2bac0492a319c%?5a3e3ac0492760ae9680e0c049244c729f59cdc04920e1b4bb%?5e0f7ff7ffffffffffffc0492f301eabbcb2c0492dfc7e6b3f%?eac04930b09e98dcdbc04932f15e7c8d19c04934db9c7368ad%?c0493695c853c148c04937ac929aa1d7c04937dc9c4da900c0%?4934f8726d04e6c04931b4245f5ad9c0492f301eabbcb27ff7%?ffffffffffffc0494aa2f48c2e77c0494755043e5322c04944%?9752977c89c049410fb65668c2c0493d6b4c7f3494c04939b3%?a68b19a4c04935af1886df83c049362c12ad81aec0493919d6%?6adb40c0493b9de481f538c0493fac0c62e4d2c04942c0485a%?0be5c049451de69ad42cc04947082491afc0c049492c0e7bc3%?c6c0494b29888f861a7ff7ffffffffffffc049536c508b32cf%?c0495121ee675148c0494f4aec8d5c74c0494e3422467be5c0%?494d008a697aeec0494eb11c6d1e11c049505814940bbbc049%?525f28848388c04952b5aa715832c049530c2c5e2cdcc04953%?92c061847fc04954362a5e785b7ff7ffffffffffffc0499101%?083dbc23c0498e434e3369bac0498b7bfa4c61d8c049878106%?24dd2fc0498536ac647779c04981923a29c77ac0497d974e65%?bea1c0497b13404ea4a9c049791f601797ccc0497614c660a2%?01c04972ed4e4c942dc0496f059641f645c0496ecbea4ebdd3%?c0496e154434e337c0496cb19a415f46c0496bb7ae5796c0c0%?496f78ee286727c04972b3a2595bbcc04974eac8605682c049%?77e22e5de15dc0497ae32e3821afc0497d54003254e7c0497f%?9e6256366dc049831c5c5718ecc049861d5c31593ec04987cd%?ee34fc61c04989018611fd59c0498c28fe260b2dc0498ec9e2%?36c15dc04990b4202d9cf1c04992bb341e14bec04992fe8251%?7e787ff7ffffffffffffc049ffbcb1cc9646c049fc1847f562%?17c049f9cde5d18091c049f7f6e3f78bbdc049f719c5a3e39f%?c049f4f5dbb9cf9ac049f2e52deca255c049f3d57ff9b563c0%?49f5860999dcb5c049f6b9a9da597dc049f890abb44e51c049%?fba4e7ab7564c049fd38a3b57c4ec049fed5f99c38b0c04a00%?7357e670e37ff7ffffffffffffc04abe2ff8ec0f88c04abb7b%?e121ee67c04abd0f9d2bf551c04abfcd573647bbc04ac30803%?03c07fc04ac100ef1348b2c04abeb68cef672c7ff7ffffffff%?ffffc04abc58f7121ab5c04ab927e5215769c04ab5ed30f062%?d4c04ab339192641b3c04ab6909aed56b0c04ab9a4d6e47dc3%?c04abd0f9d2bf5517ff7ffffffffffffc04ab6a3d70d3d71c0%?4ab282730c6717c04aaef13cee9dd8c04aaab302f72b45c04a%?a7785729b281c04aa7ced916872bc04aaacfd8f0c77ec04aae%?3a9f383f0cc04ab278d92fb19ec04ab656eefa1e3fc04ab867%?a52ac7547ff7ffffffffffffc04a83af7d30ad47c04a8375d1%?3d74d6c04a85dd095af295c04a88adf71eafeec04a8bb89939%?218ac04a8d86013660e5c04a8ab50b0f27bbc04a87d0e12e83%?a1c04a85734b51372a7ff7ffffffffffffc04a660f23897204%?c04a62b7995ee137c04a63d7fd82773ec04a6695b78cc9a7c0%?4a698d1d8a5482c04a6cdb0574b407c04a70d5f138bce0c04a%?6f7be9856a38c04a6d27ed84d339c04a69ed3953dea4c04a66%?0f238972047ff7ffffffffffffc04a194549b62c77c04a17bb%?2788db05c04a158da3c21188c04a16d477bbf940c04a1a18c5%?c9a34dc04a1c765ba6efc3c04a1f6dc1a47a9ec04a226ec17e%?baf1c04a2582fd75e204c04a293aa369fcf4c04a2c3baba7b9%?17c04a2fe0157eed46c04a33f7dfa00e28c04a3792af9a8cdf%?c04a3a3393ab430fc04a3a16bdb1a6d7c04a37a5ebb7739fc0%?4a347e73a365cbc04a316a37ac3eb8c04a2e55fbb517a4c04a%?2a8b19a415f4c04a275065732160c04a2428f5c28f5cc04a21%?a4e7ab7564c04a1ee72da122fbc04a1c765ba6efc3c04a19b8%?a19c9d5a7ff7ffffffffffffc04a104241c3efaec04a13132f%?87ad08c04a166ab9b23dd5c04a19e8b3b32053c04a1a95b78c%?c9a7c04a170489d27c39c04a13b69984a0e4c04a105f17bd8b%?e77ff7ffffffffffffc04a1d5371971c11c04a19621fafc8b0%?c04a158da3c21188c04a1192af9a8cdfc04a0dc7cd898b2fc0%?4a0b3a2595bbbfc04a081c4fc1df33c04a05c853c14834c04a%?02672fba01efc049fe5907d91255c049fb017dae8188c049f8%?a3e7d13511c049f555ffe6d58dc049f5efc7a39820c049f826%?edaa92e6c049fb3b29a1b9fac049fe5907d91255c04a01e09b%?b6aa4cc04a04d801b43526c04a07d9018e7579c04a099ccfae%?ff5cc04a0c0da1a93294c04a0f2b7fe08af0c04a12f6598e10%?cfc04a1717bd8be729c04a1a6f47b677f7c04a1dc6c97d8cf4%?c04a1fb107746888c04a1f8a979e16d77ff7ffffffffffffc0%?4a040e27e0ef9ac04a00902de00d1bc049fd38a3b57c4ec049%?fa97bfa4c61ec049fdef49cf56ebc04a01a6efc371dac04a05%?1b4fe79ee0c04a0795bbbe8790c04a0d068db8bac7c04a0c50%?efdc9c4ec04a094fe79ee02ac04a07058dde7a74c04a040e27%?e0ef9a7ff7ffffffffffffc049eca979e16d6ec049e951efb6%?dca0c049e8ae85b9e8c4c049ea5f17bd8be7c049ec3fbbd7b2%?03c049eea6f3f52fc2c049f1349be8ff32c049f241c3efae79%?c049f1bb2fec56d6c049ef7a67a52ac7c049ee205ff1d81f7f%?f7ffffffffffffc049dcc753e707e1c049daad03d9a954c049%?dc53fc0096ffc049de3e39f77293c049e0a569b17482c049e4%?102ff8ec10c049e28fb00bcbe6c049e10f27bb2fecc049dece%?67d77fae7ff7ffffffffffffc049b5cd67fd3f5bc049b817ca%?2120e2c049ba0ba1f4b1eec049bc1c58255b03c049be96c3fc%?43b3c049c1db1209edc0c049c53293d102bcc049c89d5a187a%?4ac049cb3e35c5b4abc049cd455219a848c049caf156191149%?c049c83d35eb7458c049c56c4827b6fec049c28815e39714c0%?49bfa3ec02f2fac049bcefcbd55608c049ba4ef0281ba8c049%?b7c148344c38c049b4f0520d130e7ff7ffffffffffffc04997%?0caa326e11c04997331a08bfc2c049971fe64f54d2c0499776%?683c297cc049985d18090b41c04999e73a365cb3c0499b7af6%?40639dc0499c91b823c85cc0499d352220bc38c0499df56217%?4c4dc0499f329c347e8dc049a12674080f99c049a3aa821f29%?91c049a6e52deca255c049aa9cd3e0bd45c049adf45e0b4e12%?c049b18594291750c049b31950331e3ac049b1e5aff2a173c0%?49afde9c0229a6c049ae7af20ea5b5c049ac57082491b0c049%?aa0ca600b029c049a80f2becedd5c049a58183f91e64c049a2%?c3c9eecbfbc049a06634117f84c0499f0c23fab10cc0499de2%?25fa658cc0499d485e3da2f9c0499b67ba237cddc049999a52%?263d81c04998705425f202c049974ff0025bfb7ff7ffffffff%?ffffc04995ff822bbecbc04992fe82517e78c04991ae0c1765%?77c04994889c1b5419c049975992428d43c049975992428d43%?7ff7ffffffffffffc0497661ae70c133c0497898cc144029c0%?497b99d451fc4cc0497fc4d22c881ec04981b8b26394fbc049%?825c1c6088d7c04981cbe61cffebc04983bfc6540cc8c04986%?0d2014727ec049887af20ea5b5c0498b2f123c42a6c0498e13%?3c1ce6c1c04991ae0c176577c0499518c9fb6135c049959f5d%?feb8d8c04993db9841aac5c04991e7b80d9de9c0498f9d5e4a%?3832c0498d496249a134c0498b2f123c42a6c049895807fed2%?03c0498720ea5b530dc04984b9b23dd54ec04981cbe61cffeb%?c0497e578e5c4eb5c0497ab31c219eb6c04977184c271fff7f%?f7ffffffffffffc04990d0f627392ac0498d0fb65668c2c049%?8eb6a619da9dc049904a6223e187c0499341c8216c61c04992%?eb463497b7c04990d0f627392a7ff7ffffffffffffc0498901%?8611fd59c049861d5c31593ec04984030c23fab1c049869a56%?57fb6ac049887af20ea5b5c0498a6ed245b292c0498e000000%?0000c049919acffa7eb7c0499067381d7dbfc0498da97e132b%?56c0498bd27c393682c04989cb6848beb67ff7ffffffffffff%?c0498fc3ce2089e3c049901a500d5e8dc049904a6223e187c0%?49904a6223e187c0499101083dbc23c04993c85c24c405c049%?959f5dfeb8d8c049958c2a454de8c04994889c1b5419c04993%?db9841aac5c04992a7f8012dfdc0498fc3ce2089e37ff7ffff%?ffffffffc0496a54046412cfc04969b09a671ef3c049692a06%?63c750c049684cf0739b02c0496809a2403148c04968e6b830%?5d96c0496b879c4113c7c0496f95c4220360c04973b7281fd9%?bac04976c1ca3a4b55c0497992c061847fc0497bf0563ed0f6%?c0497e913a4f8727c049816228134480c0498480064a9cdcc0%?4987b1183b6028c0498a786c22680dc0498d22ea0fd3b3c049%?8e86940357a3c0498d8ca8198f1dc0498cd601ffb481c0498b%?7bfa4c61d8c04989cb6848beb6c04988079a2834d2c0498549%?e01de269c049823f4666ec9ec0498024f6598e11c0497e578e%?5c4eb5c0497c339c0ebee0c049791f601797ccc0497614c660%?a201c049733a365cb35fc049705fa658c4bdc0496edf266ba4%?94c049706940357a35c0496f35a858793ec0496d7b7c7820a3%?c0496bc148344c387ff7ffffffffffffc0496bde1e2de871c0%?496b7460242d06c0496c3e425aee63c0496ef25a250f84c049%?725d206c8712c049752e0e30446bc049785f202107b8c0497b%?f0563ed0f6c0497d54003254e7c0497bf0563ed0f6c0497ab3%?1c219eb6c0497898cc144029c0497554866a11edc049725d20%?6c8712c0496f35a858793ec0496c3e425aee637ff7ffffffff%?ffffc04969038e29f9cfc04968869c66d374c0496a372e6a76%?96c0496d081c2e33f0c049706940357a35c04973c0ca600b03%?c0497373e24febd1c04971b0142f61edc0496edf266ba494c0%?496b7460242d06c04969038e29f9cf7ff7ffffffffffffc049%?69ea465a5764c04968e6b8305d96c04967d99029ae4fc04966%?4f765fd8aec04965bf487fcb92c04967bcba301217c0496a23%?f24d8fd6c0496c2b063e07a3c0496ecbea4ebdd3c049716cce%?5f7404c04972705425f202c049714ff865d7cbc049705fa658%?c4bdc0496d7b7c7820a3c0496a8db0574b407ff7ffffffffff%?ffc049615a964e8b7ec0496073e681a9b9c04962113c68661b%?c0496448626f60e1c0496448626f60e1c049622e126202547f%?f7ffffffffffffc049696d4c33b539c04968d38476f2a6c049%?6abdc26dce3ac04967bcba301217c04966dfa43fe5c9c04965%?bf487fcb92c0496809a2403148c0496a071c53f39dc0496d08%?1c2e33f0c04970e63a5c1c61c049739a52263d81c049770eb2%?4a6a87c04979c2ca148ba8c0497c63ae2541d9c0497f5b1422%?ccb4c0497f6e503fb374c0497ccd6c2efd44c0497ac6583e85%?77c04978e5b4245f5bc04976d506573216c04975be3c105187%?c0497450f840181ec04973008a697aeec04971800218def4c0%?496e5892684cf0c0496aedcc20d5637ff7ffffffffffffc049%?83393250b524c04981455219a848c04980eed02cd39ec04982%?95c853c148c049849cdc443915c049875a964e8b7ec0498b08%?9a027525c0498c92bc2fc697c0498abbba55d1c4c049896b44%?1bb8c3c0498720ea5b530dc04984598e10cf5b7ff7ffffffff%?ffffc04973c0ca600b03c04975079e59f2bbc04977184c271f%?ffc04978ac083126e9c04979c2ca148ba8c0497b13404ea4a9%?c0497dc75818c5cac0497ff4e4430b18c04982e2b063e07ac0%?498673de1e2de8c049893b320535cac04989f1d81f1066c049%?89881a1554fcc04987d78811b1d9c0498536ac647779c04982%?95c853c148c0498024f6598e11c0497d841248d7e0c0497ab3%?1c219eb6c04977bbb62413dbc04974cdf266ba49c04973c0ca%?600b037ff7ffffffffffffc0495faa044ae85cc0495fc6da44%?8494c0496073e681a9b9c04961b1183b6028c049637e80389f%?84c04966d60d633051c0496ada98676a72c0496ecbea4ebdd3%?c04972ed4e4c942dc04973570c564f98c04970f96e158751c0%?496e7f023e9ea1c0496c0e30446b6ac04969b09a671ef3c049%?66dfa43fe5c9c049646ed245b292c0496237ac3eb7ccc0495f%?da16616b557ff7ffffffffffffc04956507a6bd6e9c0495406%?1847f562c04952725c3dee78c04951d894812be5c0494f5e20%?46c765c049505814940bbbc04952c8e68e3ef3c04954cffa7e%?b6bfc049571a543f1c76c04959fe86833c60c0495ce2b063e0%?7ac0496026fe718a87c04963018e757929c049658f36694899%?c049679fe43675dec049698088509bfac0496bfaf42784a9c0%?496e923e5b8562c0497133226c3b92c049737d7c2ca149c049%?75c7de5082cfc04978424a276b7fc0497b99d451fc4cc0497c%?ba30121683c0497fd80e496edfc04982b29e4d5d81c0498459%?8e10cf5bc0498549e01de269c04984c34c1a8ac6c0498278f2%?5a2510c049811ee2435697c04983ac8a372607c049820f3450%?69a5c04980683c297bfac0497ea46e08f217c0497d10ba6266%?fdc0497a195464dc23c0497627fa1a0cf2c04972d07852f7f5%?c0496f35a858793ec0496b879c4113c7c04968d38476f2a6c0%?496538b47c73efc049612a84380885c0495ed688377186c049%?5bb8b26394fbc04957f76a2f48c37ff7ffffffffffffc04984%?331e3a7daac0498295c853c148c04983bfc6540cc8c049860d%?2014727ec04988e4b0186120c049888e2e2b8c76c0498720ea%?5b530dc04984331e3a7daa7ff7ffffffffffffc0497f6e503f%?b374c0497d40c4156e26c0497a9fe86833c6c049791f601797%?ccc0497bf0563ed0f6c0497f17ce52decac0498278f25a2510%?c04985c6da448494c04987eac42e989ac049895807fed203c0%?498a95421c0443c0498ba26a22b389c0498c7f8012dfd7c049%?8de32a0663c7c049919acffa7eb7c049940ba1f4b1eec04993%?71da37ef5bc0499234a01abd1bc04991de1e2de871c04991ae%?0c176577c049913ab430f495c0498f2064239607c0498c45d4%?1fa765c049896b441bb8c3c049860d2014727ec04983e6362a%?5e78c049820f345069a5c0497f6e503fb3747ff7ffffffffff%?ffc0498e568a50507ac0498b7bfa4c61d8c0498cd601ffb481%?c0498eb6a619da9dc049913ab430f495c049932e8c0485a1c0%?4993c85c24c405c049907a743a64807ff7ffffffffffffc049%?97c3504c48aec049968fb00bcbe6c04995e2ac322292c04996%?86162f166ec04998705425f202c049996a400fba88c0499a34%?22467be5c04997c3504c48ae7ff7ffffffffffffc049931b58%?4b1ab1c0499355043e5322c049940ba1f4b1eec049974ff002%?5bfbc0499a3422467be5c0499cc1ca3a4b55c0499fd6063172%?69c049a0a98244e93ec0499e123810e886c0499bb4a2339c0f%?c049988d2a1f8e3bc04995cf70153bd17ff7ffffffffffffc0%?499548dc11e42ec04995cf70153bd1c04998c6d612c6acc049%?9b7af640639dc0499a04102ff8ecc04997a67a52ac75c04995%?48dc11e42e7ff7ffffffffffffc049a05c9a34ca0cc049a2f3%?dc054ef4c049a4144028e4fcc049a7af102363b2c049ab2367%?e414e8c049ae079a2834d2c049b0ceee0f3cb4c049b4266fd6%?51b1c049b7143bf72713c049b4f0520d130ec049b27f8012df%?d7c049af5807fed203c049ac13b9f127f6c049a8bc382a12f9%?c049a547d805e5f3c049a2339c0ebee0c0499eef4e0114d37f%?f7ffffffffffffc049901a500d5e8dc049922163fdd65ac049%?907a743a6480c04991ae0c176577c0499355043e5322c04993%?851654d61bc04993db9841aac5c049959f5dfeb8d8c04997d6%?8405b39ec0499a642bf9830ec0499ccb641700cec0499ebf3b%?ea91dac049a139b024f65ac049a3bdbe3c1052c049a67b6fe2%?e6ebc049a94c660d2014c049ac43cc07aaefc049af44cbe1eb%?42c049b1e5aff2a173c049b4434e3369bac049b336262cba73%?c049b051f3e89a89c049adf45e0b4e12c049ac13b9f127f6c0%?49a9a2e7f6f4bfc049a835a426bb56c049a70203e63e8ec049%?a5b1960fa15ec049a47dfe32a066c049a34a5df2239ec049a1%?ad080b673cc0499fe939eadd59c0499e123810e886c0499b54%?7e06961cc049975992428d43c049958c2a454de8c04992048e%?043a21c049901a500d5e8d7ff7ffffffffffffc049a91c53f3%?9d1bc049a972d5e071c5c049aac34c1a8ac6c049ad50f40e5a%?36c049acc0c62e4d1ac049ab8d25edd053c049a9b62413db7f%?7ff7ffffffffffffc0499d485e3da2f9c0499f329c347e8dc0%?49a2339c0ebee0c049a34a5df2239ec049a61b54195cc8c049%?a7df2239e6acc049a4612839042ec049a0a98244e93ec0499d%?05100d393f7ff7ffffffffffffc049901a500d5e8dc049928b%?220791c5c049959f5dfeb8d8c04997fcfc3f811fc0499578ee%?286727c04991e7b80d9de9c049901a500d5e8d7ff7ffffffff%?ffffc0495e766c6de764c0495cc5da6a4441c0495e9cdc4439%?15c0496297d06bbdbec049664f765fd8aec049698088509bfa%?c0496d2e94680171c04970a2ec28b2a7c0497404102ff8ecc0%?4977cef240fa9cc049767e846a5d6cc0497404102ff8ecc049%?714ff865d7cbc0496f059641f645c0496b879c4113c7c04967%?a98676a726c04963b82c2bd7f5c0495faa044ae85c7ff7ffff%?ffffffffc04948322291fb40c04945caea747d80c04942e6c0%?93d966c0493f7bfa4c61d8c0493beacc92146ac04938a67e84%?6a5dc04937f97aaac109c049380cae642bfac04937861a60d4%?56c04935f25e56cd6cc0493441cc532a49c049354ef459d990%?c04938a67e846a5dc0493beacc92146ac0493f98d045fe11c0%?4942736049ecb3c04946ce789e774fc04949ec4e7253dac049%?4c069e7fb268c0494e174c4cdfadc0494d60ae9680e0c04950%?6b484d76abc04951d894812be5c049516ed677707ac0495242%?528ae74fc04951ff04577d95c0494ed78c436fc1c0494c8d32%?830d0bc0494a42d05f28857ff7ffffffffffffc04933f4eca6%?86e8c04932578e5c4eb5c0493377f27fe4bdc0493648e8a71d%?e7c04939705857afeac0493c97d06bbdbec04939d07c84b5dd%?c04936bc408d8ec97ff7ffffffffffffc049309d627bf61bc0%?492ecffa7eb6bfc0493020685553efc0493377f27fe4bdc049%?375faa8a82a5c049357f06705c89c04933049a9973dac04930%?ea4a8c154d7ff7ffffffffffffc0492e195464dc23c0492d45%?e0b4e11ec0492d7f8ca8198fc0492c5f28848388c0492d15ce%?9e5e24c0492d59146e4c0ec0492daf965b20b8c0492d6c508b%?32cfc0492c1be2b4959ec0492a61ae70c133c049285a9a8049%?66c04925e02ea960b7c049244c729f59cdc04921becaab8a5d%?c04924861e92923ec0492653868fd19ac049289de8b3b320c0%?492c08a697aedec0493016ce789e77c049329adc8fb86fc049%?33049a9973dac04933d816aceaafc04936e2b063e07ac0493a%?6a4ca4f441c0493e185058dde8c04940fc829cfdd2c049435a%?187a4a49c049424cf0739b02c04940fc829cfdd2c0493df1e0%?828c37c0493beacc92146ac0493b8aa8650e78c0493a26fe71%?8a87c0493919d66adb40c04938c3547e0696c04937c968943e%?10c049350bae89eba7c0493441cc532a49c049362c12ad81ae%?c049375faa8a82a5c04936e2b063e07ac04937c968943e10c0%?493678f25a2510c04933f4eca686e8c049322784a9478dc049%?309d627bf61b7ff7ffffffffffffc04908c660a20147c04906%?d288ce703bc049052b90a78290c049037afea3df6ec049037a%?fea3df6ec049040192a73711c049061248d7e026c04907dfb0%?d51f82c0490d16ce789e77c0490c14488c60ccc0490e1b5c7c%?d899c0491065bea0ba1fc04912b9baa1511ec04914c0ce91c8%?ebc04916a172abef07c04918b220791c4cc0491b6fda836eb5%?c0491f57928e0c9ec04922a57a786c22c049250318b9346ac0%?4926b3aabcd78cc04927e74299d884c049288112ba16e8c049%?29247cb70dc4c04929247cb70dc4c04927d4067cf1c3c04925%?fd04a2fcf0c04923e2b4959e62c04921550ca1cef2c049208b%?2a6b0d95c0491d9d66adb403c04919ac14c660a2c04915fe08%?aefb2bc0491349e8815e39c04911694ccab3eec0490e9856a3%?7ac4c049100f3cb3e575c04911694ccab3eec0490ee53eb399%?f6c0490c9adc8fb86fc0490973647baa9b7ff7ffffffffffff%?c049024766c6de76c049014d7add15f0c049047e8ccdd93cc0%?4907591cd1c7dec0490973647baa9bc0490bbdc69f8c22c049%?0e9856a37ac4c049129ce4a7b4e5c04916d184c27200c0491a%?32a0663c75c0491aa600b02928c04917deacc92147c04914fa%?7a85015cc049123cc07aaef3c0490fdf2a9d627cc0490e9856%?a37ac4c0490d47e8ccdd94c04909d388a8b08ec04906ef5ec8%?0c74c049037afea3df6e7ff7ffffffffffffc048f2bbc2b94d%?94c048efc45cbbc2b9c048ed1044f1a198c048ea6f60e0eb68%?c048e6746cb966bec048e2c660a20147c048df185cee17a0c0%?48dc7778dd6170c048daa077036c9cc048d842d8c2a455c048%?d842d8c2a455c048da49ecb31c22c048dc7778dd6170c048de%?f1e4b44a1fc048e10c34c1a8acc048e2e3369b9d80c048e463%?beec397ac048e5d102bc72e2c048e75b24e9c454c048e8bece%?dd4845c048ea2c12ad81aec048ed66c6de7642c048f15818c5%?c9a3c048f4c2d6a9c561c048f86748e47560c048fb71e29b6b%?2bc048fe861e92923ec04901dda8bd230cc04902f46aa087ca%?c049058bb4d48883c04907b9389b5200c0490d5a1cac0831c0%?490dc4da9003efc04911694ccab3eec04914fa7a85015cc049%?1848626f60e1c0491c09aaa3ad19c0491e9752977c89c04921%?becaab8a5dc04925b9b66f9336c04928c4588a04d1c0492b95%?4eb13dfbc0492d59146e4c0ec0492c42528ae74fc0492b3ec4%?60ed81c0492c2f166e008fc0492dcc6c54bcf1c0492f99d451%?fc4cc04930c3d25247cbc049314a66559f6fc049309d627bf6%?1bc04930ea4a8c154dc0492daf965b20b8c0492a0192a73711%?c0492666c2acb85ac04924694898f606c04920ce789e774fc0%?491d3d4280ae10c04919ac14c660a2c049161144cbe1ebc049%?125996744b2bc0490e1b5c7cd899c0490d76f2a5a46ac04907%?9c62a1b5c8c04904e84ad794a7c049010d2ca9ac36c048fe12%?c6ac215cc048fb1b60ae9681c048f7d712a0ec74c048f5cffe%?b074a7c048f2787ce95fab7ff7ffffffffffffc048d10d38cd%?a6e7c048d223fab10ba6c048d3fb04ee7c4ac048d62888b545%?c8c048d9332acfb763c048dad080b673c5c048d9d694ccab3f%?c048d778feef5ec8c048d4a808c8259ec048d16d5cfaacda7f%?f7ffffffffffffc048cf1960fa15dbc048cefc8b0079a3c048%?d0f9fcb0c027c048d2d106ee30cbc048d1c3dee78184c048cf%?1960fa15db7ff7ffffffffffffc048ce45e4e69f06c048cfa9%?8eda22f7c048d3144cbe1eb4c048d1ea4ebdd335c048ce892a%?b68cef7ff7ffffffffffffc048ca7b02d59d56c048caf7fcfc%?3f81c048ce4f7ec3547ec048d1ea4ebdd335c048d0e6c8f755%?37c048ce15d2d01c0dc048ca7b02d59d567ff7ffffffffffff%?c048b6d79d0d6762c048b45d28d002e2c048b195d4e8fb01c0%?48af082cf52b91c048af1b69121251c048ad7e132b55efc048%?abe0b4e11dbdc048ad9ae924f228c048af082cf52b91c048b0%?cbfb15b574c048b2a2fcefaa47c048b45d28d002e2c048b664%?4523f67fc048b93532e7b3d9c048bc831ad2135ec048c0278d%?0cc35dc048c448f10d99b7c048c80d30db6a1fc048cc0ebedf%?a440c048d03022dd7a9ac048d42174c4cdfbc048d748ecd8db%?cfc048daa077036c9cc048dd7164c729f6c048e01248d7e026%?c048e34cf4a558eac048e6e7c49fd7a1c048ea5c24c404a7c0%?48ea95d0b73d19c048e9288ce703b0c048e6c154c985f0c048%?e49d6adf71ebc048e1e94ab1d4fac048df2b90a78290c048db%?b738e6d15bc048d90cbaf965b2c048d6af1cb89d6bc048d404%?9ecb31c2c048d12a0ec74320c048cdc8eabffcdbc048ca4af0%?bf1a5dc048c67674d16335c048c241dd1a21eac048bed716d2%?aa5cc048bc7980f55de6c048b8cb74ddf86e7ff7ffffffffff%?ffc04832ab1d4f9c20c048304d87724fa9c0482e6ce358298d%?c0482f2389720429c0482f66cf41f213c04830d41b75a74cc0%?483344ed6fda83c04835a2834d26fac04837363f572de4c048%?384d013a92a3c048399d7774aba4c0483b0121682f94c0483b%?c1615ebfa9c0483b87b56b8738c0483c21858bc59cc0483da2%?0578e5c5c0483e155d5f56a8c0483f18eb895076c0483e6245%?6f75dac0483f790752da98c048407c957cd467c048430d3d70%?a3d7c0484584a9478c87c04847bbcf4e874dc048490c4588a0%?4dc048478bbd380453c04845c7f77af640c048439a6b50b0f2%?c04842d0917d6b66c04844644d877250c0484327136a4010c0%?48433a4f8726d0c04844343b70ef56c04845b4bb5e0f80c048%?48258d5842b7c0484b4d056c508bc0484eb7c3504c49c04850%?685553ef6bc048511efb6dca08c048535fbb517a46c0485523%?89720429c0485158a7610279c04850bed740c415c048532fa9%?3af74dc048522c2374794fc0484fd82773e250c04851c2656a%?bde4c048540cbf2b239ac0485630b178b370c048588e4755ff%?e7c0485b85ad538ac2c0485e569b17481bc04860e44b6e935c%?c04862fe93187619c04865528f190d17c048685d31337eb3c0%?486c019b0db2e1c0486ebf5515054bc04871603925bb7bc048%?73aa9b499d02c0487564c729f59dc048749aed56b010c04872%?3d4f15e7c9c0486f9c6b053198c0486cb841248d7ec0486b11%?51611ba4c0486bb4bb5e0f80c0486f1f79420b3dc0486c91d1%?4e3bcdc04868ed5f138bcec048658c436fc159c048656f6512%?a950c04866561d4306e6c0486759ab6d00b4c04868405b39e2%?7ac04869e75360d024c0486b67d34df04ec0486ebf5515054b%?c048709ff92f2b67c04871e6cd29131fc04873ede1198aecc0%?4875eb5b2d4d40c048779bed30f063c0487a299524bfd3c048%?7e2e2328f9f4c0487c0d393ee5efc04878e2c12ad81bc04879%?b63d3e4ef0c0487cddb5525cc4c0487cddb5525cc4c0487e11%?4d2f5dbcc0487d8ab92c0618c0487b23810e8859c04878bc51%?54866ac0487715592d98bfc04875c4eb56fb8fc04872809d49%?5183c04870d9a52263d8c0486e1beb18116fc0486b67d34df0%?4ec0486dcf0307f23dc0487109b738e6d1c048735db3397dd0%?c04874fb09203a32c048782281344806c0487a5004fb1184c0%?487e2e2328f9f4c04881ac1d29dc72c0488469d7342edcc048%?87d495182a99c048896851223183c0488cc9752977c9c0488e%?d08919ef95c0488f60b6f9fcb1c0489137c1376d55c04892c1%?db0142f6c04894a27f1b6912c0489730270f3882c0489a1450%?efdc9cc048989d6adf71ebc0489786a8fc0d2cc0489769d302%?70f4c04898c3e3193f6cc0489a3ac929aa1dc0489ac15d2d01%?c1c04898ea52ef911dc04897603925bb7bc04899b43526527a%?c0489c55193708abc0489bce8533b107c048998dbcec84f9c0%?4897c9f72f76e6c04895cc7d1bb491c0489786a8fc0d2cc048%?9b8b3700474ec0489f995ee136e7c048a213d31b9b67c048a3%?9dece57109c048a5e84f09528fc048a845e4e69f06c048ab80%?9917939ac048ad0db2e1693cc048ae3e5321e604c048b01eee%?d8904fc048b25fb71fbc5ec048b1a91105e1c1c048b1a91105%?e1c1c048b32990f301ebc048b50092ccf6bec048b72e1ef73c%?0cc048ba38c111ada7c048bc9ff0cbaf96c048befd8f0c77de%?c048beea52ef911dc048bf1a65061416c048c147e8ccdd94c0%?48c3cbf6e3f78cc048c19e6ab9b23ec048c01450efdc9cc048%?c07e0ef99807c048c147e8ccdd94c048c25510d38cdac048c1%?47e8ccdd94c048c3b8bac710cbc048c6332f01754bc048c740%?57082492c048c6165907d912c048c6332f01754bc048c5efe0%?ce0b91c048c84d7f0ed3d8c048cbe84f09528fc048cf1960fa%?15dbc048d1c3dee78184c048d3c158fb43d9c048d62888b545%?c8c048d842d8c2a455c048d91feeb2d0a2c048daf6f8f04146%?c048dbb738e6d15bc048dccdfaca361ac048de3b46fdeb53c0%?48dfcefaa4766cc048df0520d130e0c048de91c8eabffdc048%?df5ba2be058ac048e098dcdb37cac048e175f2cb6417c048e0%?7c06e19b91c048dfbbc6eb0b7cc048dddb22d0e560c048ddb4%?b2fa93afc048de61b6d43d04c048e0dc22ab25b3c048e39042%?d8c2a4c048e6c154c985f0c048ea5c24c404a7c048ec599ed7%?c6fcc048eeb734b51373c048f26edaa92e62c048f4af9a8cde%?a0c048f82d948dc11ec048fab1a2a4db16c048fe861e92923e%?c04901ad96a6a012c04903ee568a5050c0490491c087442cc0%?490397d49d7ba6c0490491c087442cc04906a276b7ed42c049%?0732a497fa5dc04906a276b7ed42c04908831ad2135ec0490d%?e0b0af5fd4c0490d94c87980f5c04910bc408d8ec9c04913aa%?0cae642cc04915fe08aefb2bc04917deacc92147c0491b6fda%?836eb5c0491dfd82773e25c0491e10be9424e6c0491e40d0aa%?a7dfc0491e54046412cfc049206e5471715cc0492382906898%?70c04922cbf2b239a4c0491fc15097c808c0491f913e81450f%?c04921550ca1cef2c04921550ca1cef2c04921ab8e8ea39cc0%?49235c209246bfc0492318d25edd05c04921ab8e8ea39cc049%?229246bf0132c04924d306a2b170c04924bfca85cab0c04922%?02107b7846c0491f612c6ac216c0491fc15097c808c049206e%?5471715cc049212e94680171c04922455eaee200c049238290%?689870c04924e63a5c1c61c04925b9b66f9336c04926ed56b0%?0ffec049262374794ea0c04925ccf28c79f6c0492439368273%?0cc04924bfca85cab0c04926d080b673c5c0492acb6c7a7c9e%?c0492e362a5e785bc0492d15ce9e5e24c0492967c286f8adc0%?49262374794ea0c0492773eab367a1c0492af1e4b44a1fc049%?2e663c74fb55c049323ab862b27dc04935c254a3c643c04939%?d07c84b5ddc0493cdb1e9f2778c0494045dc832336c0494380%?88509bfac04947bec2480e8dc0494af976790321c0494d13c6%?8661aec0494d73e24febd1c0494b5992428d43c049481ee675%?147fc04949d912556d1ac0494be02645e4e7c0494dca643cc0%?7bc0494fd18090b418c04951ebc83a96d5c04954362a5e785b%?c0495676ea422899c04958f15e7c8d19c0495b3bb83cf2d0c0%?495d4c6e6d9be5c0495f10342aa9f8c0496073e681a9b9c049%?6237ac3eb7ccc0496405143bf727c0496615ca6ca03cc04966%?d60d633051c0496538b47c73efc0496568be2f7b18c0496783%?0e3cd9a5c049684cf0739b02c04967830e3cd9a5c0496632a0%?663c75c049654be835dedfc0496451fc4c1659c0496361aa3f%?034bc049631e646f1562c04963e83e425aeec04965e5b8561d%?43c0496722f2734f83c04964f566490d35c04962113c68661b%?c0495f5d1c3ac92ac0495c35ac8a3726c049599e6256366dc0%?49565a14488c61c04952a26e547171c0494f2e1693c03cc049%?4c2374794ea0c0494995cc857f30c0494755043e5322c04949%?35a858793ec0494c49e44fa051c0494f5e2046c765c0494d9a%?5a89b952c0494a5fa658c4bdc0494768405b39e2c04943ba34%?43d46bc0494333a0407cc8c049463e425aee63c04945879c41%?13c7c04943cd7060bb2cc0494092c4934268c0493dc1ce6c09%?3ec04940fc829cfdd2c04944372e6a7696c049466e5471715c%?c049486bce8533b1c0494c2374794ea0c0494f7af640639dc0%?49521bda5119cec0495543526527a2c049587dfe32a066c049%?5c6f587d6f97c0495f705857afeac04961e12a51e322c04963%?cb6848beb6c04964f566490d35c049657bfa4c61d8c04965e5%?b8561d43c04966028e4fb97cc049657bfa4c61d8c04964f566%?490d35c0496448626f60e1c04963018e757929c0496117507e%?9d95c0495ee9c4545847c0495e934267839dc0496117507e9d%?95c04963e83e425aeec04964c55432873cc04963b82c2bd7f5%?c0496405143bf727c049640eb67c2870c04963b82c2bd7f5c0%?4962113c68661bc04960c0c62e4d1ac0495fa06a6e32e4c049%?5e465a57646bc0495c35ac8a3726c0495b4ef459d990c04959%?64b662fdfcc0495844523f67f5c0495509a671ef31c049516e%?d677707ac0494ec4588a04d1c0494be02645e4e7c04947db98%?41aac5c04946049667b5f2c04948df266ba494c0494bb01c92%?ddbec0494f4aec8d5c74c049534f7a919696c04956a6fc58ab%?93c0495814488c60ccc04958c14c660d20c049599e6256366d%?c0495b923a29c77ac0495c9f623076c0c0495c528283d35fc0%?495b020c49ba5ec0495a984e3ffef4c0495a2e90364389c049%?59049235f80dc0495770de8f6cf0c049560d2c386d2fc04955%?000431bde8c04953b93037d630c04951d894812be5c0494f5e%?2046c765c0494d13c68661aec0494b3cbc48f10bc04948b8b6%?9552e3c049457e02645e4ec0494290364388ecc04940a5f84c%?ad58c0493d3b3a68b19ac049395d249e44fac04935f25e56cd%?6cc04932b7b28954a8c04930ea4a8c154dc0492fc9e6687f45%?c0492d6c508b32cfc0492967c286f8adc04925ccf28c79f6c0%?49229246bf0132c0491f0daa7ded6cc0491b8316a05575c049%?179b5e95b78dc0491443dccea290c0491095d0b73d19c0490d%?0e34762952c04909b6b2af1455c0490685a0be5109c04902cd%?faca361ac048ffd694ccab3fc048fc0218def417c048f8841e%?de1199c048f4c2d6a9c561c048f12806af46aac048edd084e8%?31adc048ea5c24c404a7c048e61deacc9214c048e23fcc9ea9%?a4c048def1e4b44a1fc048dbd40ee06d94c048d88626f60e0f%?c048d52e9ccb7d41c048d1c3dee78184c048cde5c0b99913c0%?48cb0196d8f4f9c048c7839cd8127bc048c3b8bac710cbc048%?c0c154c985f0c048bd2684cf073ac048b96544fe36d2c048b6%?d79d0d6762c048b48d3ae685dbc048b1d9231c64bbc048b1ec%?56d5cfabc048b4237cdcca71c048b36cdf266ba5c048b06bd6%?e8af81c048ae049ecb31c2c048aad38cda6e76c048a8290eed%?02cdc048a53b4b2fa93bc048a1e3c105186ec0489e18def416%?bec0489a9ae4f33440c04897fa00e27e0fc0489592d1287c20%?c04892b841248d7ec0488fb738e6d15bc0488bc5e6ff7dfac0%?4887c158fb43d9c0488439c51dabe2c0488198e10cf5b2c048%?7f14db59578ac0487c73f748a15ac04879c9795b35b1c04876%?e5471715c6c0487474751ce28fc048711cf355cd92c0486e55%?970b49e0c0486a5aab474107c04866862f5989dfc048633847%?6f2a5ac0485ffd933e35c6c0485cc2e770bd01c0485988333f%?c86dc0485613db7f1737c048537c914b167fc0484fd82773e2%?50c0484cc3eb7cbb3dc04848ac215b9a5bc0484597e5647347%?c04841d69d30270fc0483e58ab92c062c0483aa0fd3b29a2c0%?4836afab53d641c04833b845564b667ff7ffffffffffffc048%?9244e93e1c9bc0488f0d350d2807c0488f0d350d2807c04892%?14d72799a27ff7ffffffffffffc04873240746455fc0486fdf%?b9389b52c0486df57b41bfbec0486f02a3486f05c048722a1b%?5c7cd9c0487594d9407896c048744463065f96c04874579f23%?46567ff7ffffffffffffc0490444e0daa0cbc049052b90a782%?90c04907892684cf07c04909e6c4c5974ec0490b4a6eb91b3f%?c0490c61309c7ffec0490e5eaab04253c04911b62c77574fc0%?49158ab0c88a48c049192f1a9fbe77c0491c4cf0739b02c049%?1f7e02645e4ec04921985271bcdcc049229246bf0132c04922%?a57a786c22c049206e5471715cc0491ec764adff82c0491b83%?16a05575c04917f1e0828c37c0491426fe718a87c049105282%?83d35fc0490c311e85fd05c04908964e8b7e4ec0490668cac4%?b4d0c04904a4fca42aed7ff7ffffffffffffc049071f687b13%?9dc04907892684cf07c0490d3d46b26bf8c0490e0828c36da8%?c0490f6bd2b6f199c0490baa8a82a561c0490822f6a50d6b7f%?f7ffffffffffffc04911a2f8bdec5fc049102278d0cc36c049%?12d6909aed57c049140d2877ee4ec04911d30270f3887ff7ff%?ffffffffffc048f7ea4ebdd335c048f7fd8adab9f5c048f9ae%?1cde5d18c048fb985ad538acc048fe12c6ac215cc04900c6e6%?d9be4dc04903b4aa9717dfc0490638b8ae31d7c04908964e8b%?7e4ec0490c61309c7ffec0490faf1886df83c0490e7b80a9de%?8bc0490c311e85fd05c04909ad18d25eddc049080fba8826ab%?c049061be2b4959ec04903db22d0e560c049012702a3486fc0%?48fe42d8c2a455c048faeb4e981388c048f86748e475607ff7%?ffffffffffffc0491af2e8c0485ac04919c8eabffcdbc04917%?7e889c1b54c04919ac14c660a2c0491c435696e58ac0491e10%?be9424e6c0491d76ee73e682c0491af2e8c0485a7ff7ffffff%?ffffffc0492f1ce28ed5f1c0492d45e0b4e11ec0492bb224aa%?da34c0492a319c5a3e3ac04929247cb70dc4c04927e74299d8%?84c04926ed56b00ffec04926b3aabcd78cc049254ff865d7cb%?c049241c6088d6d4c049250318b9346ac0492773eab367a1c0%?4929ee568a5050c0492c5f28848388c0492ebcbe61cfffc049%?31aa8a82a561c049350bae89eba7c04938a67e846a5dc0493a%?ad9274e22ac0493b8aa8650e78c0493c84944ed6fec0493e2b%?8c75c4a8c0493fac0c62e4d2c04941964a59c066c04943ba34%?43d46bc04943fd82773e25c0494269c66d373bc04940d60d63%?3051c0493fef5a964e8bc0493e9ee45c358bc0493b47629520%?8ec04937dc9c4da900c049345eaab04253c0493214488c60cc%?c0492fb6b2af14557ff7ffffffffffffc0493c548a9bcfd5c0%?493919d66adb40c0493618d6909aedc04933d816aceaafc049%?323ab862b27dc049345eaab04253c04936bc408d8ec9c04939%?b3a68b19a4c0493d6b4c7f3494c04940dfaca36199c049424c%?f0739b02c049450daa7ded6cc049485892684cf0c049486bce%?8533b1c04945b7ae5796c0c04942c0485a0be5c0493fef5a96%?4e8bc0493c548a9bcfd57ff7ffffffffffffc049d7dc1615eb%?fbc049d7dc1615ebfbc049d798c7e28241c049d768b5cbff47%?c049d7256ffc115ec049d66ec9e236c1c049d4f7e3d1cc10c0%?49d2ca600b0293c049d0d67fd3f5b6c049cf25edd05293c049%?ce0f2becedd5c049cc8509bf9c63c049cb3e35c5b4abc049c9%?edc7ef177ac049c7e6b3fe9faec049c5dfa00e27e1c049c365%?2bd3c361c049c0f459d9902ac049bec6d612c6acc049bc1c58%?255b03c049b9ab862b27ccc049b7143bf72713c049b3cfede9%?7d07c049b021ea359360c049ad64302b40f6c049adc44bf4cb%?19c049ae079a2834d2c049ae7af20ea5b5c049af9b56323bbc%?c049b15582129457c049af7e80389f84c049ad0dae3e6c4cc0%?49acfa7221858cc049ac13b9f127f6c049aac34c1a8ac6c049%?a95fa22706d5c049a64b662fdfc2c049a7cbe61cffebc049a9%?5fa22706d5c049aa0ca600b029c049a7455219a848c049a3bd%?be3c1052c049a0a98244e93ec0499de225fa658cc0499bb4a2%?339c0fc0499acdea033e79c049994d6a161e4fc04995cf7015%?3bd1c0499341c8216c61c049932e8c0485a1c049944ef0281b%?a8c04995ff822bbecbc0499776683c297cc04998e3ac0c62e5%?c0499a4755ffe6d6c0499bb4a2339c0fc0499ce83a109d06c0%?499de225fa658cc0499ebf3bea91dac0499f1f601797ccc049%?9f9c5a3e39f7c049a022ee41919bc049a1735c182ecbc049a2%?9d5a187a4ac049a547d805e5f3c049a6d1fa333765c049a9b6%?2413db7fc049ac13b9f127f6c049ac308feac42fc049ae1134%?04ea4bc049afcb5fe542e5c049b0ff0025bfadc049b27f8012%?dfd7c049b40000000000c049b5cd67fd3f5bc049b7de1e2de8%?71c049ba0ba1f4b1eec049bcbfc2224edfc049bf3a2df9378f%?c049c1db1209edc0c049c4424a276b7fc049c6830d0b1bbdc0%?49c970cdc8754fc049cbbb2fec56d6c049ceff7dfa00e2c049%?d12d01c0ca60c049d41acde19fc3c049d5a4f00ef135c049d8%?0c1fc8f323c049da902de00d1bc049dd6124074645c049dfee%?cbfb15b5c049e242c7fbacb4c049e4a9f7b5aea3c049e7e4ab%?e6a338c049ec060fe47992c049ef4a5df2239ec049f22e87d2%?c7b9c049f59945b6c376c049f7da059a73b4c049f9a76d97b3%?10c049f9e121ee6751c049f7f6e3f78bbdc049f6765ba6efc3%?c049f4cf6be37de9c049f33bafd976ffc049f254f7a91969c0%?49f194b7b28955c049f02773e24fecc049edc9d5a187a5c049%?eb28f9f44d44c049e88815e39714c049e61743e963dcc049e5%?13b5bf6a0ec049e272d1aeb3ddc049df54fbdad752c049dc40%?bfe3b03ec049d9a97e132b56c049d768b5cbff47c049d5f1cf%?bb9496c049d5d4f9c1f85dc049d768b5cbff477ff7ffffffff%?ffffc0449fd0d8cb07d1c0449f4a44c7b02dc044a0e79aae6c%?8f7ff7ffffffffffffc044a1eb28d8665ec044a13482be8bc1%?c044a23810e885907ff7ffffffffffffc044a6d666a98245c0%?44a39bbadc0981c044a4d8ec95bff0c044a7b37c99ae92c044%?a8dd7a99fa127ff7ffffffffffffc044f91bb4916ca4c044fc%?432441fea8c044fc699c7bcc29c044f91212513b5c7ff7ffff%?ffffffffc044fb9fba450dccc044f9ef284167a9c044fd59ee%?88df377ff7ffffffffffffc04501eeaa6d2674c04501be9856%?a37bc0450425d074213ac0450743a647fdc6c0450442a66dbd%?737ff7ffffffffffffc044feb3f63c31dfc044fe67168f8e7e%?7ff7ffffffffffffc045068366516db1c0450442a66dbd73c0%?450730728e92d5c0450d016052502f7ff7ffffffffffffc045%?07fa4c61d862c04504f94c87980fc0450408fa7a8501c04504%?390c9107fbc0450653543aeab8c045087746887a8dc0450bd8%?6a8fc0d3c0450f733a8a3f8ac045132ae07e5a79c04516ff5c%?6c11a1c04515cbbc2b94d9c04512cabc515486c04510638433%?d6c7c0450d929670196ec0450d7f5a5332adc0450d74b838c1%?12c0450cbf1a5ca298c04509be1a8262457ff7ffffffffffff%?c0451c4abe6a337bc0451ed8665e02ebc0451e04ea4a8c15c0%?451ac09c3ce2097ff7ffffffffffffc0452135fc3b4f61c045%?221cb46bacf77ff7ffffffffffffc0450cd256798959c0450f%?c9bc771434c04510ea18372e6ac0450f097c80841fc0450cd2%?567989597ff7ffffffffffffc0451257646ae3a4c045150b7c%?3504c5c04514be9c886163c0451257646ae3a47ff7ffffffff%?ffffc0451407f66e86c6c045115d78811b1ec04513515054ac%?2ac0451622467be554c0451906705c896ec0451c4abe6a337b%?c0451f856a37ac3fc04520a5ce5b4246c0451d9192641b33c0%?451a26d4801f75c0451772b4528284c045147b4e54f7a97ff7%?ffffffffffffc0453860fe47991cc045351cb039ef0fc04533%?0c026cc1cac04535dcf0307f24c0453947ae147ae17ff7ffff%?ffffffffc0453c6f262888b5c0453f367a0f9097c0453c357a%?355044c045392ad81adea97ff7ffffffffffffc045bebb01c9%?2ddcc045bd876188b114c045bf2e59af9ebf7ff7ffffffffff%?ffc045ca6887a8d64dc045c94823854046c045cc3f8982cb21%?c045cc52c59fb1e27ff7ffffffffffffc045d90d7386099ac0%?45d9b0dd82fd767ff7ffffffffffffc045d98a6dacabc5c045%?daa12f9010847ff7ffffffffffffc045e494898f605bc045e5%?1183b60286c045e3441bb8c32b7ff7ffffffffffffc045c37f%?cfc3f812c045c16f19934efdc045c33c81908e58c045c4c6a3%?bddfca7ff7ffffffffffffc045c9c51dabe271c045c7979181%?9d24c045c5f0a1be2b49c045c6c41dd1a21fc045ca6887a8d6%?4dc045cd8fffbce421c045ce503fb37436c045cccfbfc6540d%?c045cde681a9b8ccc045cbd5d3dc8b877ff7ffffffffffffc0%?45d1513f8db489c045d13469941850c045d4055fbb517ac045%?d67fcb923a2ac045d5991bc55864c045d64fb97bb731c045d7%?a02fb5d031c045da54477ff152c045dd4bad7d7c2dc045df5c%?63ae2542c045ded5cfaacd9fc045dc0e7bc3c5bdc045d9b0dd%?82fd76c045d6fcc5b8dc55c045d56909aed56bc045d2ee9574%?70eb7ff7ffffffffffffc045d254cdb7ae58c045cf36ef8055%?fcc045cff737da61e1c045d37ecbb7f9d7c045d7199bb2788e%?c045d9a743a647fec045dbc193b3a68bc045dd4bad7d7c2dc0%?45deaf5771001dc045db87e7c06e1ac045d886df82b1f7c045%?d81d2178f68cc045d6160d887ebfc045d254cdb7ae587ff7ff%?ffffffffffc045e3add9c27e95c045e330df9bdc6ac045e5e4%?f765fd8bc045e58e757928e17ff7ffffffffffffc045e82f59%?89df11c045e7e27179bfdfc045e9294573a798c045ebc08fa7%?a850c045eb13836a832c7ff7ffffffffffffc045ead9d7774a%?bac045e9d651b0ccbcc045ebdd65a14489c045ed10fd7e4580%?c045edbe09bb6aa5c045ecc4156e264ec045e9e9856a37acc0%?45ea366d7a56dec045ebb6ed6777087ff7ffffffffffffc045%?e6451b93037dc045e6c215b9a5a9c045e84295a6c5d2c045e9%?294573a798c045e8c929aa1d75c045e82f5989df11c045e6b8%?73797460c045e6451b93037d7ff7ffffffffffffc045f0855d%?a27286c045f128c79f66627ff7ffffffffffffc045f35feda6%?6128c045f31c9f72f76e7ff7ffffffffffffc045edbe09bb6a%?a5c045ef5b5fa227077ff7ffffffffffffc045ee6173b85e81%?c045eef1a1986b9c7ff7ffffffffffffc045f249235f8099c0%?45f16c0d6f544c7ff7ffffffffffffc046139791819d24c046%?11ad538ac190c046139791819d247ff7ffffffffffffc0463f%?c9a34ca0c3c0464166f9335d25c0463eec8d5c7475c0463dfc%?3b4f6167c0463d927d45a5fcc0463d88e368f084c0463ea93f%?290dbbc04640e065300581c0464200c9539b89c04640168b5c%?bff4c0463ecfb762d83cc0463d325918a00dc0463d6c0d6f54%?4cc0463df2a172abefc0464166f9335d25c04643a7b9170d63%?c04645885d31337fc04647ef954eb13ec0464970153bd167c0%?464a305532617cc0464b03d145d851c0464a137f38c543c046%?487fc32ebe59c04647d2bf551505c04648b96f21f6cbc04649%?835158b828c0464b471715c63bc0464d1e215336dfc0464d31%?550ca1cfc0464c242d05f288c0464b170d62bf12c04648fcbd%?556085c046472f55582129c046457ec3547e07c04642fab53d%?640fc046403361565c2d7ff7ffffffffffffc04649a0275254%?61c046495cd91eeaa7c0464c1a93293d10c0464ea83b1d0c80%?c0464fa22706d506c0465182cb20fb22c04653b9f127f5e8c0%?46530ced4e4c94c0465105d95dd4c7c0464e21a719b4ddc046%?4c7ab7564303c0464ad3bf2f5558c04649a0275254617ff7ff%?ffffffffffc04653804534bd77c04654c7192ea52fc0465617%?8705425f7ff7ffffffffffffc0463c420f6f08ccc0463a1e1d%?2178f7c0463b21ab4b72c5c0463dcc2938de6ec0463fdcdf69%?8783c04640034f3fd934c04641970b49e01ec04642caa326e1%?15c0464059d12caddec0463f2fd32c625fc0463d325918a00d%?7ff7ffffffffffffc0464c2dcf4623d1c04649d9d3458cd2c0%?464c978d4fdf3bc0464e950763a190c04650024b33daf9c046%?4e180d3cff657ff7ffffffffffffc0465767fd3f5b60c04655%?d441355476c046590eed02cd3ac0465b0c67168f8ec0465918%?8f42fe827ff7ffffffffffffc0466031593e5fb7c0465fee0b%?0df5fdc0465fbdf8f47304c0465cbcf91a32b1c0465b62e903%?6439c0465948a159817cc046575e5aff2a17c046563dff3f0f%?e0c046558759253544c046542d490e66cbc04653c38b04ab60%?c0465530d738609ac0465707d912556dc046587ebf22c01ec0%?4658a52ef911cfc0465aef911cf356c0465ba63736cdf2c046%?5ac92146a1a5c0465d137b07075bc0465faac53b0814c04661%?c5154866a1c04663b8ed1bf7adc04665c9a34ca0c3c0466405%?d52c16dfc04664d9513f8db5c04663325918a00d7ff7ffffff%?ffffffc0465da3b14a9047c0465f97891e2153c0465fdad751%?8b0d7ff7ffffffffffffc0465df090f733a9c0465d09e12a51%?e37ff7ffffffffffffc046672d4d4024b3c04665f9acffa7eb%?c04668dddf43c7d6c04666636b096356c0466482c6ef3d3ac0%?4666937d1fe64fc04668adcd2d44ddc0466a7192ea52f0c046%?6a4189374bc7c046672d4d4024b37ff7ffffffffffffc04660%?87db2b3461c046616e8af81627c046637f4128bf3cc0466452%?bd3c3611c04664f6273929edc04662085b18548b7ff7ffffff%?ffffffc0466aee8d10f51bc0466c8be2f7b17d7ff7ffffffff%?ffffc0467bb762d83c6dc0467ab3dd11be6ec0467c5ad538ac%?197ff7ffffffffffffc0467688df37329cc0467434e3369b9d%?c046744816f0068ec04675553ef6b5d4c0467271151611bac0%?4670f09528f191c0466f8ceb356da0c0467163ed0f6274c046%?740e6afcce1cc0467705d0fa58f7c0467959ccfaeff6c0467c%?044ae85b9fc0467e45132f87adc0467ef217093101c0467c81%?450efdcac0467e01c4fc1df3c0467f1886df82b2c0467f1886%?df82b2c0468192fb19e732c0468390752da986c046829680e0%?6530c04681fcb923a29cc0467fd8c6d612c7c0467c81450efd%?cac0467ad0b30b5aa7c04677d94d0dcfcc7ff7ffffffffffff%?c04685c792d1287cc04687b1d92b7fe1c04686e7f6f4be83c0%?4686147ae147aec0468510f51ac9b0c046860de10492367ff7%?ffffffffffffc0468aa93f290dbbc0468a96030c23fbc0468c%?6d04e618cec0468d66f0cfe154c0468c201cd5f99c7ff7ffff%?ffffffffc0468d66f0cfe154c0468daa3f034b0ec0468f646a%?e3a3a9c0468f5ad106ee31c046904180d3cff6c04690ab3edd%?8b61c0468dda5119ce07c0468e4da9003eeac0468d5d56f32b%?dc7ff7ffffffffffffc0469f034b0e1b4cc046a07a28bb0d2d%?c046a2fe36d22425c046a67296f6512bc046a67c30d306a3c0%?46a5f59ccfaeffc046a40b5ed8d36bc046a29478c868bac046%?9f167ec7863c7ff7ffffffffffffc046a43b70ef5665c046a6%?1272c94b38c046a8666ec9e237c046a9605ab3aabdc046aa47%?12e40853c046ab1a8ef77f28c046abd12cadddf4c046aa50ac%?c0bdcbc046a74face67d78c046a7e97d06bbdcc046a7e97d06%?bbdcc046a71f9acffa7fc046a41e9af5ba2cc046a28adeebb3%?427ff7ffffffffffffc046a89680e06530c046a78958d9b5e9%?c046a8ed02cd39dac046aa7724fa8b4cc046acb7e4de3b8ac0%?46adcea6c1a049c046af0be0ded289c046ac448cf7caa7c046%?a9a3a8e71477c046a939eadd590c7ff7ffffffffffffc046bf%?0ddcd2d44ec046bf0ddcd2d44e7ff7ffffffffffffc046c550%?2ababeadc046c79a8cdea034c046c8d7be9856a3c046c9db4c%?c25072c046cbebfa8f7db7c046ca3b70ef5665c046c79a8cde%?a034c046c44302b40f67c046c4262cba732e7ff7ffffffffff%?ffc046d24484944ed7c046d24484944ed7c046d1676ea4228a%?c046d003c4b09e99c046d12428d434a0c046d0ba6aca7935c0%?46cef69ca9ef52c046cdcc9ea9a3d3c046cf7396d0917dc046%?d14a98aa8651c046d2c17ebaf102c046d2cb1897a67ac046d2%?ae429e0d42c046d2f190d173fbc046d31800a7c5acc046d47b%?aa9b499dc046d69f94855da2c046d77cb2d905c0c046d7c992%?85a922c046d5fc2a8869c6c046d21e14bdfd26c046d1ee02a7%?7a2d7ff7ffffffffffffc046d5fc2a8869c6c046d7a322af57%?71c046d9aa369fcf3ec046da60dcb9a9dac046d9106ee30caa%?c046d63f78bbd380c046d4c892ab68cf7ff7ffffffffffffc0%?46e59170d62bf1c046e3f4128bf3bfc046e5c17a89331a7ff7%?ffffffffffffc046e91904b3c3e7c046e9cfaacd9e84c046e6%?9e90795f67c046e6cea28fe261c046e7abb8800eaec046e7db%?ca9691a7c046e8d5b6805a2d7ff7ffffffffffffc046e9bc6e%?b0b7c3c046e952b0a6fc59c046e6d844d013a9c046e77baecd%?0785c046e9bc6eb0b7c37ff7ffffffffffffc046ee6e008e9b%?39c046ef24a6a875d5c046ecc710cb295fc046ed8750c1b973%?c046ef24a6a875d5c046f0b862b27cbfc046f0f20ea5b531c0%?46f225a682b628c046f0a5269595ffc046f178a2a90cd4c046%?ee6e008e9b397ff7ffffffffffffc046fcb2d0a24463c046ff%?4a1272c94bc046fd99806f2629c046fa686e7e62dcc046f9eb%?7cbb3c827ff7ffffffffffffc045e1b05faebc41c045e45add%?9c27e9c045e4e1719f7f8dc045e54b2fa93af7c045e6aed99c%?bee8c045e45add9c27e9c045e163779e9d0f7ff7ffffffffff%?ffc04b0350dae3e6c5c04b020064a9cdc4c04b02a3cea6c1a0%?c04b04d15ad106eec04b04f7caa7589f7ff7ffffffffffffc0%?4b096616b54e2bc04b096fb8f57f73c04b0bba12b5e52ac04b%?0dd462c343b7c04b0f9830e3cd9ac04b0d877ab32485c04b0b%?8066c2acb87ff7ffffffffffffc04b7834fc610f0fc04b75b0%?ee49f517c04b72463065f959c04b741d323fee2dc04b761aac%?53b081c04b7821c044284ec04b79d25247cb71c04b7834fc61%?0f0f7ff7ffffffffffffc04b851fbc5de9c0c04b835bee3d5f%?ddc04b8231f03d145ec04b84efaa4766c7c04b88a7503b81b6%?c04b87607c4199fe7ff7ffffffffffffc04b86d9e83e425bc0%?4b8563022dd7aac04b8425d074213ac04b853c925785f9c04b%?871394317accc04b88941c8216c6c04b877d523b36377ff7ff%?ffffffffffc04b93e17e34b945c04b91da6a444178c04b8fe6%?9270b06cc04b8e6fac6045bbc04b9153d640e9d5c04b9407f6%?6e86c6c04b94c8366516dbc04b9558644523f67ff7ffffffff%?ffffc04b8d327243137bc04b8ae8101f31f4c04b8c4bc27631%?b6c04b8be2046c764bc04b8be2046c764bc04b8eec9e236c16%?c04b91109070fbecc04b9046ae3a3a8ec04b8ec62e4d1a65c0%?4b8ec62e4d1a65c04b8d327243137b7ff7ffffffffffffc04c%?8dc59b8023a7c04c8c584f4c6e6ec04c8e08e1501190c04c8f%?62f166e009c04c9100474d9c6bc04c916a055757d6c04c9053%?4373f317c04c8f9c9d5a187a7ff7ffffffffffffc04c9474a7%?71c971c04c93a12b5e529cc04c934107314ca9c04c950e6f2e%?8c05c04c95fec13b9f12c04c950e6f2e8c057ff7ffffffffff%?ffc04c93b4677b395cc04c92471b478423c04c90968943e100%?c04c90968943e100c04c93ee136e71cec04c916a055757d6c0%?4c8f0c6f7a0b5fc04c8de27179bfdfc04c8b4b2745bf27c04c%?888d6d3b6cbec04c85d955714b9dc04c81e80389f83cc04c7f%?170d62bf12c04c7d667b5f1befc04c7a2bcf91a32bc04c76fa%?bda0dfdfc04c74fd438d1d8ac04c7690ff972474c04c78b4e9%?81387ac04c7c160d887ebfc04c7f63f572de44c04c831b9b66%?f933c04c86096787ce96c04c87e06961c369c04c8b5e6362a5%?e8c04c8cdee34fc611c04c8cc20d5629d8c04c8e990f301eac%?c04c9139f340d4dcc04c925a57646ae4c04c94014f8b588e7f%?f7ffffffffffffc04c68c929aa1d75c04c675bdd76683cc04c%?66886162f167c04c66e8858ff759c04c67f5ad96a6a0c04c68%?2f5989df11c04c662845996745c04c65d1c3ac929bc04c65c8%?216c6152c04c6300cd855971c04c5f9fa97e132bc04c5fffcd%?ab191ec04c6120296b3355c04c60a337a80cfac04c613cff64%?cf8dc04c5fd955714b9dc04c5dabd1aa821fc04c5d0867ad8e%?43c04c602fd75e2047c04c625d63886595c04c6447a17f4129%?c04c63c10d7be985c04c62e3f78bbd38c04c62970f7b9e06c0%?4c6447a17f4129c04c667ec7863befc04c67ff47735c18c04c%?6a23315d701ec04c69dfeb8d82347ff7ffffffffffffc04ba0%?75bc44bf4dc04b9f254e6e221dc04b9cb474107315c04b99ed%?20296b33c04b95cbbc2b94d9c04b91f7403dddb1c04b8e961c%?36976cc04b8b182235b4eec04b888a7a41e57ec04b85afea3d%?f6dcc04b8653543aeab8c04b898e086bdf4cc04b8c5ef62f9c%?a6c04b9029d8409e56c04b938afc47e49bc04b936e264e4862%?c04b9347b677f6b2c04b9424cc6822ffc04b912d666a9824c0%?4b8e36006d0d4ac04b8bb1f255f352c04b889db65ecc3ec04b%?85afea3df6dcc04b82f23033a472c04b7f6102795704c04b7c%?f9ca5bd945c04b7a75bc44bf4dc04b79ef284167a9c04b7a7f%?5e84f095c04b7c73365881a1c04b7fddf43c7d5fc04b82fbd2%?73d5bbc04b85e996312f4dc04b877d523b3637c04b8a9b3072%?8e93c04b8d9c304ccee6c04b8fd35653c9acc04b933e1437c5%?69c04b96f5ba2be059c04b99702e6644d8c04b9b80dc33721d%?c04b9ed8665e02ebc04ba0628027d88c7ff7ffffffffffffc0%?4b59adea897636c04b5b98288051cac04b5af4be835deec04b%?57d6e8af8162c04b5522c881e471c04b51f1b6912125c04b50%?e48e8a71dec04b5295208e1501c04b55192ea52ef9c04b57a6%?d698fe697ff7ffffffffffffc04b4ff43c7d5ed0c04b534224%?67be55c04b550f8c64fdb1c04b5187f88765bac04b4ded288c%?e704c04b4c76427c7c52c04b4f20c069e7fb7ff7ffffffffff%?ffc04b5c6ba493c89fc04b5e8f8e7ddca5c04b6049ba5e353f%?c04b6220c49ba5e3c04b6186f47b677fc04b5e55e28aa433c0%?4b5c3b927d45a6c04b59141a6937d2c04b57337eb28d86c04b%?550f8c64fdb1c04b5716a055757dc04b596102795704c04b5b%?c83a96d4c37ff7ffffffffffffc04b2e58eeae9ee4c04b3237%?04790b85c04b32da6e75ff61c04b2fcfd4bf0996c04b2ccecc%?814d72c04b2ac7b890d5a6c04b2a07789a4591c04b2c95208e%?1501c04b2fcfd4bf0996c04b3300e6afcce2c04b35f84cad57%?bcc04b36e89eba6acac04b3507faa044afc04b31f3bea91d9b%?c04b30e696a26e54c04b2fc6327ed84dc04b2ef2becedd48c0%?4b2be81cb46badc04b29e108c3f3e0c04b28ca3e7d1351c04b%?26d666a98245c04b236ba8c58687c04b20141e9af5bac04b1c%?c636b09635c04b19a860dcb9aac04b16d76ab58080c04b14c6%?bce8533bc04b121c36976bc2c04b14b380cb6c7ac04b1650d6%?b228ddc04b1a121ee67514c04b1c3fa2ad3e92c04b1a68a0d3%?49bfc04b1d4ccab3edd9c04b20f1348b2208c04b210470a808%?c8c04b1f5d80e496eec04b21eb28d8665ec04b25129888f862%?c04b2796a6a0125ac04b299dba908a26c04b2c48387df5cf7f%?f7ffffffffffffc04bef9d2bf55150c04bf29e2bcf91a3c04b%?f4fbca1059eac04bf6b5f5f0b285c04bf82339c0ebeec04bf9%?b6f5caf2d8c04bfc0157eed45fc04bfe1205bc01a3c04bffaf%?640639d6c04c00ec95bff045c04c029d27c39368c04c04441f%?ea8113c04c06b4f1e4b44ac04c0d9307af20eac04c0e8461f9%?f01cc04c126277c45cbcc04c15c39bcba301c04c188155d5f5%?6ac04c1bf5b5fa2270c04c1fad5bee3d60c04c22b7f5a5332b%?c04c269613d31b9bc04c28fd438d1d8ac04c2a7dcbddb984c0%?4c28c39799e519c04c288051c9f72fc04c2a441fea8113c04c%?2d0b73d188f4c04c301fafc8b008c04c344113c68662c04c37%?3879c4113cc04c380bf5d78812c04c3b035bd512ecc04c3cf7%?33a8a3f9c04c3f4b2fa93af7c04c42dc65c70436c04c45d3cb%?c48f11c04c480df1cb89d7c04c493e89a88acec04c465a5fc7%?e6b4c04c42a2b9d3cbc5c04c407ec7863befc04c3dc10d7be9%?85c04c3a431bde82d8c04c3bea0ba1f4b2c04c400b6f9fcb0c%?c04c43afd976ff3bc04c46ba7b9170d6c04c49f52fc2656bc0%?4c4c492bc2fc69c04c4fb3e9a6f827c04c53284167a95dc04c%?562949a56580c04c596d97b30f8cc04c58b6f19934f0c04c55%?ac4f7ec354c04c51fe43675dddc04c4e3d03968d76c04c4b02%?57c914b1c04c48449dbec248c04c44e379b77c03c04c41f5ad%?96a6a0c04c3e346dc5d639c04c39ffcdab191ec04c35f1a5ca%?2984c04c3651c193b3a7c04c359b23dd54dac04c3333ebbfd7%?1bc04c31e37585be1bc04c2fc92ddbdb5ec04c2c8e79aae6c9%?c04c28f3a9b06812c04c256c15d2d01cc04c22fb43d89ce5c0%?4c21dadfb506ddc04c1fe707e175d1c04c1d0c77dd872fc04c%?1984db9c7369c04c17fac1d29dc7c04c14acd9e83e42c04c12%?af5fd47beec04c0ed141a6937dc04c0b5350092ccfc04c077e%?cbb7f9d7c04c03aa4fca42afc04c0143201040c0c04c005c67%?dfe32ac04bffc297bfa4c6c04bfd6501e2584fc04bfb7ac3eb%?7cbbc04bfbd145d85165c04bfebf11f926c8c04bff1f2dc2b0%?eac04bfe5eedcc20d5c04bfd482be8bc17c04bfc0df1cb89d7%?c04bf8c6a3bddfcac04bf53f0fe047d4c04bf5a8cdea033ec0%?4bf96a0dbad3a6c04bf96a0dbad3a6c04bf6b5f5f0b285c04b%?f578bbd38045c04bf3be8ff327aac04bf20dfdef8488c04bf0%?83dbc233167ff7ffffffffffffc0488c093532e7b4c0488c4c%?7b02d59dc0488c3947496aadc0488c1c68ec52a4c0488c5fb7%?1fbc5ec0488ce64b231401c0488e36b8f9b131c0488f30ad46%?f588c04890644523f67fc04891ee5eedcc21c048936544fe36%?d2c048945f30e7ff58c04894c8eef1bac3c048942f2734f82f%?c04894425aee6320c048948f42fe8251c048948f42fe8251c0%?489559253543afc048960fc2eba27bc048945f30e7ff58c048%?93521144cbe2c0489137c1376d55c0488f73f316e371c0488c%?1c68ec52a47ff7ffffffffffffc0488168cef672b9c0487f7e%?90ff9724c048804873365882c04883c66d373b00c04887d495%?182a99c0488aaf251c193bc0488c5fb71fbc5ec0488b0f4949%?1f2ec048886e653868fdc04884c059210386c0488168cef672%?b97ff7ffffffffffffc04898508b32ce89c04895afa7221859%?c04895afa7221859c0489816df3f9618c0489ade33269df9c0%?489ba80cf9e386c04898508b32ce897ff7ffffffffffffc046%?5514013ec461c04656345cfede98c0465754c122749fc04658%?1ea35935fcc04658a52ef911cfc04655adc8fb86f4c0465500%?c521dda0c04651e2ef4e0115c0464f4ba51a005cc046501587%?50c1b9c04652b662fdfc1ac04654f72b4528287ff7ffffffff%?ffffc04b7bffde7210bfc04b7b22c881e471c04b7bffde7210%?bfc04b7cc01e68a0d3c04b7a58e64b2314c04b77b8023a6ce3%?c04b76d1526d8b1ec04b752a5a469d73c04b7232f4491299c0%?4b6f0b84988095c04b6d17a46173b8c04b6b70b49e01dec04b%?6b972474538fc04b6a203e63e8dec04b674f50a02b84c04b66%?dbf0563ed1c04b6a638c975297c04b68192a737111c04b6487%?f455a7d2c04b66abe6a337a8c04b671f3e89a88bc04b697cd4%?66f502c04b69dcf893faf4c04b69dcf893faf4c04b6afd5454%?152bc04b6dbb0e5e6794c04b6e54de7ea5f8c04b6ed1d041cc%?53c04b706f2e8c0486c04b71dc725c3deec04b73a9da597d4a%?c04b74005c4651f4c04b7550d2806af4c04b789eba6aca79c0%?4b79254e6e221dc04b7851d25aab47c04b75cdc443914fc04b%?75b0ee49f517c04b72e0008637bdc04b709f383f0bafc04b6e%?be9c886163c04b6e681a9b8cb9c04b6f58644523f6c04b6e54%?de7ea5f8c04b6e11904b3c3ec04b7139085f4a12c04b70ec20%?4f2ae0c04b7108f648c719c04b72f3343fa2adc04b73f6c269%?9c7cc04b76679463cfb3c04b77316e371540c04b7834fc610f%?0fc04b7881e4712e41c04b7a0bfe3b03e2c04b7a58e64b2314%?c04b7a75bc44bf4dc04b794bbe4473cdc04b79856a37ac3fc0%?4b7a7f5e84f095c04b7cf9ca5bd945c04b7e4a38327675c04b%?7e8d8665e02fc04b815e74299d88c04b81a1c25d0742c04b80%?e18266772dc04b811b2e59af9fc04b820b8066c2adc04b838c%?0053e2d6c04b86d9e83e425bc04b8941205bc01ac04b895df6%?555c53c04b86702a3486f0c04b8649ba5e353fc04b88640d6b%?93cdc04b89f7c6759ab7c04b8c4bc27631b6c04b8e82e87d2c%?7cc04b90b06c43f5f9c04b9170ac3a860ec04b941b2a27f1b7%?c04b96cf4a558ea8c04b998d045fe111c04b9c846a5d6becc0%?4b9a73b42cc2d7c04b9ca140570825c04b9a86f049a997c04b%?9859641f6449c04b9b2a5a469d73c04b9ce48626f60ec04b9f%?1bac2df0d4c04ba2c9b845564bc04ba63476295209c04ba6bb%?0d2ca9acc04ba96f2a5a469dc04bad09fa54c554c04bae9db6%?5ecc3ec04bac10060780fec04ba96f2a5a469dc04ba8920c06%?9e80c04ba8a548238540c04babe996312f4dc04bab7fd82773%?e2c04ba948b220791cc04ba784ec636b09c04ba4c7325918a0%?c04ba4bd9018e758c04ba256605ee569c04ba09c2c1b10fdc0%?4b9e5b6c3760bfc04b9f1bac2df0d4c04ba182e44b6e93c04b%?a3504c48adefc04ba299a62ed352c04ba4c7325918a0c04ba5%?c11e42e126c04ba51db445ed4ac04ba2dcf4623d0cc04ba1ff%?d60e94eec04ba483e425aee6c04ba2398a654930c04ba2dcf4%?623d0cc04b9fc8b86b15f9c04b9d74bc6a7efac04b9b774256%?bca5c04b9a1d323fee2dc04b97e60c38f367c04b95fbce4217%?d3c04b95151e75360dc04b945e785b5b70c04b943800218def%?c04b93b16c1e364cc04b935aea3161a2c04b93c4a83b1d0dc0%?4b90f3ba775fb3c04b8cd256798959c04b8a1e364bec68c04b%?87607c4199fec04b8472b884406cc04b815e74299d88c04b7e%?06f262888bc04b7bffde7210bf7ff7ffffffffffffc049b035%?1deefe50c049b3061416377ac049b52064239607c049b7a469%?d7342fc049b9db8fde2ef5c049bbb29a1b9f99c049bd765fd8%?adacc049bd765fd8adacc049bd9cd8127b2dc049bd899bf594%?6cc049bf5703f2d3c8c049c05a921ccd96c049c1112fd32c62%?c049c2cb641700cec049c1ee4e26d480c049beb399f5dfecc0%?49bbc5cdd50d89c049bec6d612c6acc049c0c450268901c049%?c03dbc23315dc049bf3a2df9378fc049bd331a08bfc2c049bd%?4ff0025bfbc049b9db8fde2ef5c049b7c148344c38c049b653%?fc0096ffc049b6da9003eea2c049b8b191dde376c049bc392e%?1ef73cc049be537e2c55c9c049c1112fd32c62c049c32b7fe0%?8af0c049c652f7f498c4c049ca745bf26f1ec049cdaf07bfe7%?e2c049cb6e47dc37a4c049c7b6a1e81cb4c049c4e5b4245f5b%?c049c214bdfd2631c049bf5703f2d3c8c049bcd2f5dbb9d0c0%?49b9db8fde2ef5c049b9984a0e410bc049b8048e043a21c049%?b7f151e75361c049b53d3a1d3240c049b336262cba73c049b1%?e5aff2a173c049af44cbe1eb42c049ad64302b40f6c049ad3d%?b7f17375c049ab8d25edd053c049a9efd00713f0c049a67b6f%?e2e6ebc049a401040bfe3bc049a3bdbe3c1052c049a36733eb%?bfd7c049a1f9f01b866ec0499f92b7fe08afc0499dcef240fa%?9cc0499cc1ca3a4b55c0499c3b3636f3b2c0499b37a80cf9e4%?c04999dd97f62b6bc049970caa326e11c04998e3ac0c62e5c0%?499a4755ffe6d6c0499ccb641700cec0499a642bf9830ec049%?97933e35c5b5c049946bc621b7e1c049940ba1f4b1eec04992%?77ee4e26d4c04990e432441febc0498eb6a619da9dc0498d49%?6249a134c0498f8088509bfac049904a6223e187c0498fea46%?5a5764c04990e432441febc0498fea465a5764c0498c75e636%?2a5ec04988a16a487336c049860d2014727ec04982f5e41d4b%?6ac0497f049235f80dc0497bf0563ed0f6c04979329c347e8d%?c049772b884406c0c049748aa433508fc0497249e44fa051c0%?496ecbea4ebdd3c0496c3e425aee63c04969c3ce2089e3c049%?66028e4fb97cc0496361aa3f034bc04963018e757929c04960%?fa7a85015cc0495e331e3a7daac0495c6f587d6f977ff7ffff%?ffffffffc049b0786c22680dc049b1b59ddc1e79c049b40000%?000000c049b670d1fa3337c049b8b191dde376c049ba6223e1%?8698c049ba321a2e7f6fc049b817ca2120e2c049b8b191dde3%?76c049b96837f7be12c049b9ab862b27ccc049ba1ede1198af%?c049bcac8605681fc049bd331a08bfc2c049bc091c087443c0%?49b8e1a3f4666fc049b82afdda8bd2c049b76124074645c049%?b5cd67fd3f5bc049b469be09bb6bc049b1a26a22b389c049b1%?4245f5ad97c049aff1d81f1066c049af6b441bb8c3c049ad50%?f40e5a36c049abbd3804534cc049aa0ca600b029c049a8bc38%?2a12f9c049a5b1960fa15ec049a5b1960fa15ec049a340c415%?6e26c049a1601ffb480dc049a022ee41919bc0499f45cfede9%?7dc0499ce83a109d06c0499a642bf9830ec04999c0c1fc8f32%?c04997fcfc3f811fc04995cf70153bd1c04994c2480e8c8bc0%?499341c8216c61c04992a7f8012dfdc04990071c53f39dc049%?90071c53f39dc0498f33a0407cc8c0498c59103c8e26c04989%?a4f00ef135c0498867be553ac5c0498630984e3fffc049849c%?dc443915c049816228134480c0497f47e06961c3c0497f47e0%?6961c3c0497f8b26394fadc0497f5b1422ccb4c04980a1e81c%?b46cc04981287c200c0fc04983393250b524c049864d6e47dc%?38c049896b441bb8c3c04987d78811b1d9c04984e0221426fe%?c0498566b6177ea2c04984b9b23dd54ec049834c660d2014c0%?4983393250b524c04983bfc6540cc8c049823f4666ec9ec049%?81287c200c0fc0497fbb384fd2a6c0497ccd6c2efd44c0497b%?69c23b7953c049785f202107b8c0497614c660a201c049754a%?e429e0a4c049728d2a1f8e3bc0496fff822bbecbc0496e923e%?5b8562c0496b879c4113c77ff7ffffffffffffc0496b14445a%?a2e4c0496d2e94680171c0496ecbea4ebdd3c049725d206c87%?12c04975715c63ae25c049779ee02a77a3c04979fc7e6b3fea%?c0497c8a265f0f5ac0497ee7bc3c5bd1c0498055000c953ac0%?4980db940fecddc04980bebe1650a4c0498055000c953ac049%?81b8b26394fbc04982b29e4d5d81c0498055000c953ac0497f%?47e06961c3c0497e746455eaeec0497d70d62bf120c0497db4%?245f5ad9c0497dedd052934bc0497bd3804534bdc0497992c0%?61847fc04978ac083126e9c04976580c308febc04975113836%?a833c04971b0142f61edc0496e154434e337c0496b7460242d%?06c0496c517e77d524c0496aaa8650e779c04967bcba301217%?c0496568be2f7b18c04964954a7f8013c0496568be2f7b18c0%?49676638433d6cc04964820e629952c04961b1183b6028c049%?6297d06bbdbec0496297d06bbdbec04961e12a51e322c04962%?ab042528aec04962ab042528aec04964b220791c4cc049664f%?765fd8aec0496736262cba73c049676638433d6cc049693d3a%?1d3240c04968b6ae7d566dc04966b934699418c04963cb6848%?beb6c0496090bc7b45f1c0495d25f633ce64c0495ab524399b%?2cc0495977f27fe4bdc04957c7607c419ac04955869835158c%?c049572d905c0336c04958ae10492360c04959b19e731d2ec0%?495b1ee2435697c0495b623076c051c04959b19e731d2ec049%?57b4245f5ad90000000e0000c5580000000600000008000000%?06000000000000000500000008000018a50000000100030001%?6c617400000000090000c5287ff7ffffffffffff4017fe2c98%?e53eb4c010000000000000c010000000000000c006c4883fd5%?0225c006d3e1c9b41398c006ce79aae6c8f7c006c4dca8e2e2%?b9c006aa6dacabc515c006a46b69db65edc006cc12ad81adeb%?c006b40d2877ee4ec006969a0dd8a116c0068cfd08d4bad8c0%?06896249a133c2c0067f2ba9d1f601c00676c2699c7bccc006%?7327aa68f4b6c006788fc9363f57c00680f9096bb98cc0067d%?5e4a383276c0066c8bc9cd3e0cc00659524bfd2e94c0065182%?a9930be1c00673c148344c38c006896249a133c2c00694330d%?73860dc006ab074a771c97c006b53dea465a57c006b70b49e0%?1de2c006b53dea465a57c006be40c8472c0ec006bbd9cae211%?02c006cde00d1b7176c006e681a9b8cb8ec006f7542a23bff9%?c0071691a75cd0bbc006ea1c68ec52a4c006e2e6ea854478c0%?06f7edc7ef177ac006fb890d5a5b96c006fd566cf41f21c007%?09f40d2877eec006ff23cc8de2acc007078d0cc35ce2c00712%?f6e82949a5c0070ec28b2a6b0ec0070cf52b90a783c0071efa%?e7924af1c007456e696a26e5c00747d5ed06fef8c007293187%?6188b1c007155e6bc621b8c0070d8ec95bff04c0070bc169c2%?3b79c00709f40d2877eec0070bc169c23b79c00726ca89fc6d%?a4c00740064a9cdc44c00746a22b3892efc007580e496ededb%?c00774e4c942d491c007a026cc1ca3a5c007cc026cc1ca3ac0%?0808b0079a2835c00830f0e90bc7b4c0080d7d6733ebc0c007%?d9d3cbc48f11c007bffde7210be9c007d59ee88df373c007b5%?2da98676a7c007aa5d6bebe165c0079689ca18bd66c0076d15%?ad106ee3c0075ba908a265f1c00749a34ca0c283c0073ed288%?ce703bc007580e496ededbc0077e81cb46bacfc007848387df%?5cf2c0075eaa2a0d9585c0073a0407cc7d1cc00729cbab649d%?39c00740064a9cdc44c0074ca3e7d13511c0073b37c99ae925%?c0073f6cacd184c2c0073e38eb0318b9c007202ea960b6fac0%?07022467be553bc007125d4a5df224c006fa554b8bef8dc006%?ec83ec892ab7c006dfe5c91d14e4c006f0b84988094ec006d9%?e40c8472c1c006bbd9cae21102c006a16a48733659c0068794%?ea077037c00674f50d02b841c0064fb549f94856c00635464d%?c22ab2c00611d3ed527e52c006096aad1d041dc00629424e59%?2967c005ff340d4dc65cc005de28aa433509c005dbc1acde19%?fcc005e8f96e158751c005f162ae4b0186c005f3300de4c511%?c005eac6cdaf4adcc005e8f96e158751c006096aad1d041dc0%?062172abef06b3c0063b480d5accd5c0064b80ecfa69bec006%?8a960b6f9fcbc006bd0d8cb07d0bc006b8d8a979e16dc00697%?cdcca70d20c0068794ea077037c006a3d1cc100e6bc0069433%?0d73860dc0069901083dbc23c006758f2e05ccc9c006668a0d%?349be9c0067d5e4a383276c0067628cbd1244ac0067e920c06%?9e80c00676c2699c7bccc006805f6ba0620bc006a9d388a8b0%?8ec0069131ec0b5675c00668576cce5f74c00685c78a6dacac%?c00664bcad9ad85ec006280e8c8abd5ec006070329802c0dc0%?060d9f0d1be2b5c006203eea209aaac00627746887a8d6c006%?10a02b841249c006070329802c0dc005e5f84cad57bcc005f8%?982cb20fb2c005ffcdab191ddec005edc768dfbd6ac005d0f0%?e90bc7b4c0059f138bcdfefcc005a515ce9e5e24c0056aceaa%?f35e31c0057036c9c0a8d2c0058370cdc8754fc00578a009f6%?2307c00563992c8c5005c0054a5d6bebe165c00530880d801b%?43c005157eed45e918c004f0d8cb07d0afc004c5974e65bea1%?c0049e8a2ec28b2ac004807fed20296bc0048e514c22ee42c0%?0476e2eb1c432dc004807fed20296bc004717acc4ef88cc004%?4ea28fe260b3c0042cfd8f0c77dec0040d25edd05293c00401%?bb8c32a8cac003e4e50c5eb314c003c774eebf65dcc003bad6%?cb535009c003bd3e4ef0281cc003ac6bce8533b1c0039ccd0f%?e8ab50c0038129cbab649dc00372becedd4845c00363b9ae0c%?1765c0034ce5710880d8c00331422ccb3a26c00325d7cb2d90%?5cc0031ea24cc68230c003159f6ec5b079c002ff64cf8d716d%?c002f9fcb0c026ccc002efc610f0e90cc002fbca1059ea57c0%?03129e4d5d80e5c0030e69f05ea24dc002f52e2fbe33adc002%?fd976ff3ade2c003129e4d5d80e5c00345af6c69b5a6c00369%?21ccd96207c003842aed139431c003993250b5243ac003aed2%?cbea4ebec00398982cb20fb2c003ba3d2d87f887c003e0b0af%?5fd47cc003f6eb4e981388c003e4e50c5eb314c003f6512a94%?ff00c0042bc9cd3e0bd4c004553dea465a57c004747bedb728%?20c00445058dde7a74c00443d1cc100e6bc00464dd2f1a9fbe%?c004429e0d41a262c0041c2b0ea18373c003ea4d2b2bfdb5c0%?03d2452c59fb1ec00393300de4c511c0037cf56eac8605c003%?a536501e2585c003c8a8b08dd1e5c003ed4e4c942d49c0040e%?59af9ebe9dc003efb5d031055cc0041a5daf07bfe8c0043433%?0d73860dc0044806af46aa08c0042cfd8f0c77dec00421932d%?6ece14c0043a34ca0c282cc00408576cce5f74c00408576cce%?5f74c0041b90ea9e6eebc003ecb4aec8d5c7c003d378ee2867%?27c003ffee2c98e53fc00431cc100e6afdc00458d92fb19e73%?c00464430b178b37c0045bd9cae21102c0047bb16c1e364cc0%?0476494d50ebabc004523d4f15e7c9c004145b6c3760bfc003%?e317acc4ef89c003e1e3eaf6837fc00416c2efd438d2c0044f%?3c2dadb835c0045b402d16b980c004282f0e0d84bec0043d35%?eb7457c1c0046275ab7dc7acc00467ddca4b124dc00476494d%?50ebabc00478b04ab606b8c0048eeae9ee45c3c004c3c9eecb%?fb16c004f80e496ededbc00508472c0e7bc4c004d5360d0247%?02c004b08feac42e99c004794a6eb91b3fc0046576cce5f740%?c00497542a23bff9c004befb6dca07f6c004f20c8cd63cb8c0%?050b484d76ab58c004e86f8ad2567ac004fd76ee73e682c005%?1f1bef49cf57c00548900c521ddac0057337eb28d866c005a2%?ae4b018612c005cd5629d8409ec00605cfede97d07c0064a4d%?2b2bfdb5c006715a4acf312bc0065fee2c98e53fc00634ac29%?bf162bc0062ba94bbe4474c0061c0d8d21bc12c006143aeab7%?995fc006070329802c0dc00635dfeb8d8234c006668a0d349b%?e9c00698676a7264a1c006a59f2ba9d1f6c006c4dca8e2e2b9%?c006e41aac53b081c006d9e40c8472c1c006d3482be8bc17c0%?06afd5cb790fb6c0069901083dbc23c0066abe6a337a81c006%?49b38d60a633c0061d3dc8b86b16c00626dacabc5155c00641%?e3eaf6837fc0064cb4289118c2c0062b0fadf2ecf2c0064d4e%?4c942d49c0067b90ea9e6eebc0068f648c7192eac006a9d388%?a8b08ec00681932d6ece14c00650e90bc7b45fc00640168b5c%?bff4c00673c148344c38c006a939eadd590cc006758f2e05cc%?c9c006397aaac1094ac0061e718a86d71fc00610068db8bac7%?c005edc768dfbd6ac005cb88ca3e7d13c005b4b48d3ae686c0%?05a8b08dd1e53bc00585d7cb2d905cc00562656abde3fcc005%?8d0d49949e88c0058aa64c2f837bc0056e696a26e547c00550%?f94c87980fc0052182ecaeea64c004f80e496ededbc004c7fe%?4bcad9aec004ad8f4f93bc0dc00497542a23bff9c0046fad6c%?b53501c0046adeebb341e1c00453708aac96ccc004205f6ba0%?620bc003ef1bac2df0d4c003c5a78f25a251c003f9524bfd2e%?94c003ec1a8ac5c140c003b0a02b841249c003ad9f90539fba%?c0038f954eb13dfbc00385f84cad57bcc00381c3efae7925c0%?03494a2b9d3cbcc00342ae4b018612c0033fadafd11383c003%?5080303c07eec0035eeb2d0d2446c0037b280f12c27ac00396%?312f4cf4a5c003ac6bce8533b1c003c473cd573648c003d111%?6a8b8f15c003dd15f02c4d66c003dbe22e5de15dc003ff548e%?cd8dbdc0042c636b096356c00449d40ee06d94c00475afaf85%?9429c0049fbd6a593a2ec0046877ee4e26d5c00446d2ed783d%?ffc00432ff4ba51a00c0044ea28fe260b3c004717acc4ef88c%?c0049fbd6a593a2ec004d8372e6a7696c0050b484d76ab58c0%?054cc46950fc72c00532ef0de53650c0051ae70c1333b9c005%?4fc58ab92c06c00587a52ac753e7c005bdb76b3bb83dc005f4%?63497b7415c00623d9a95421c0c0064b80ecfa69bec006698a%?a8650e78c00696006d0d4995c006d9e40c8472c1c00715f809%?91793ac0074dd7a99fa11bc00782b628459967c007ab90a782%?9069c007d59ee88df373c007fb78cc9a77e6c0081ab649d388%?a9c00830f0e90bc7b4c0084e6106ab14ecc00873a0c6b484d7%?c008a149c6f36ef8c008cef2c7325919c008d9c38b04ab60c0%?08f733a8a3f898c00924dca8e2e2b9c009588765ba6efcc009%?7dc725c3dee8c009910129cbab65c009979d0d67620fc009a5%?6e696a26e5c009c5dfa871a3b1c009f422467be554c00d2867%?2756861fc00d5fad2999567ec00d77b5286b5914c00d681669%?ced0b3c00d56102795703fc00d2b6848beb5b3c009f98a6549%?2ff5c009c111276fb092c00996694898f606c0098f33ca31e7%?dac0097bf9c62a1b5cc0094a1c68ec52a4c0091da72a7bd48d%?c008fd35eb7457c1c008d28d8665e02fc008af1b25f633cec0%?0891ab0856e697c0086100e6afcce2c0082f2389720429c008%?2b88ca3e7d13c0081681669ced0bc007e1094a2b9d3dc007a3%?c18b502abbc00765dfa871a3b1c00732ce89656ef0c0070826%?aa8eb463c006d5af294dd723c00698676a7264a1c006625529%?fe004bc00629dbec2480e9c005fccc89b0ee4ac005cc22ee41%?919bc005930f8c64fdb1c0056f9d2bf55150c00537bd8be729%?6fc005127dcbddb984c004e73c4f3ba776c004b2f76e6106ab%?c004884f8f8a4c1fc004583f0bae89ecc0044fd5cb790fb6c0%?047ce52deca255c004a3f24d8fd5cbc004b42aa9f7b5afc004%?c02f2f987400c004e43b2dd377e2c004b9934efcbd55c004a5%?bfad299956c00494ed2cbea4ecc004747bedb72820c0043a34%?ca0c282cc004205f6ba0620bc00413c1ce6c093ec003e7e62d%?c6e2a8c003b9096bb98c7ec0037ec2ce464990c003541aef6f%?8f04c0031fd60e94ee39c00324a48f96e158c0033d462c343b%?71c0034eb2d0a24463c0032b4070329803c0030f038e29f9cf%?c002fc63ae2541d9c003176cce5f7404c0033cac8e68e3efc0%?034b178b370047c003417b0f6ad70ec0033f138bcdfefcc003%?1b078d92fb1ac002ddbfceb78898c002b6191148fda0c00279%?6af038e2a0c00243f24d8fd5cbc00231ec918e325dc001fb40%?2d16b980c001ce3150dae3e7c00196eb4e981388c00178476f%?2a5a47c001466a11ec918ec0012e618ce2d1f2c0012e618ce2%?d1f2c0012f954eb13dfbc0014ed352220bc4c001767a0f9096%?bcc0019bb9cf9a06a7c001c2c6ef3d3a1dc001db691212513b%?c001f4a44c7b02d6c00212ae8e1d6495c0023d566cf41f21c0%?0269320d9945b7c00299dc2f405f6cc002ce21101b0037c003%?07ce0fc2eba2c00340e0eb67c287c003748c2e770bd0c00350%?80303c07eec0031c3b4f616723c002e58f7121ab4bc002f05f%?aebc408ec0030b68cef672b9c00340474d9c6b05c003240d6b%?93ccd1c002e92a30553261c002d2ef911cf356c0029c432ca5%?7a78c0026f345069a4dfc0023fbdf090f734c0023df090f733%?a9c00268986fcdee35c0022eeb702602c9c0021eb28d8665e0%?c002358750c1b973c00255f88fc9363fc00260c8cd63cb81c0%?024d8f4f93bc0dc0024bc1eff9f87fc0023a55d1c3ac93c002%?177d0f1f57b4c00207de5082cf53c00216e371540032c0021b%?b16c1e364cc001f40daeafab54c001f972cd7cf5f5c001e204%?6c764ae0c001c9fc6da44849c001a1bc126a65cfc00183b1d0%?c80410c00163da2f8bdec6c0014ed352220bc4c0015307af20%?ea5bc0013d66adb402d1c0014703afb7e910c001255eaee200%?3bc00101ec4e7253dac000db7952d234ecc000ab68cef672b9%?c000a2ff8ec0f883c000828e4fb97bb7c0005c1acde19fc3c0%?0040780fdc1616c00053b18dac258dc0003d76ee73e682c000%?53b18dac258dc00056b2af145522c0004c7c0f451761c0002d%?3e920c069ec0002c0dd03d9a95c00026a2b1704ff4c00015d0%?31055b8abfffca4c1ebc83a9bfff6429e0a41a26bffef33764%?f11b61bffe84ab606b7aa2bffe4763a1900820bffe717268d3%?2831bffe79db22d0e560bffe49cb252ce033bffe308ede54b4%?8dbffde4dc22ab25b3bffd958ea7ce0fc3bffd51116a8b8f15%?bffd96c1e364bec6bffdc33721d53cdebffd6b7fe08aefb3bf%?fd116228134480bffd4fdd22856606bffda2c669057d18bffd%?55df6555c52ebffd5377e1b8ed1cbffd7fed20296b33bffd5e%?481f53825ebffcfe28240b7803bffc8d35a858793ebffc37e5%?eaab0425bffc01d3aa369fcfbffbd1c2a0232096bffba7b4e5%?4f7a92bffbb7542a23bff9bffc31e3a7daa4fdbffc90d0678c%?0054bffce6202539756dbffd163022dd7a9abffcd7b5286b59%?14bffc9805e5f30e80bffcc815e39713adbffcd54da4ce8102%?bffd0b5fe542e558bffcf6f2a5a469d7bffcb6102795703fbf%?fc8c016052502fbffc4784230fcf81bffc1774256bca53bffb%?c5bf26f1dc51bffb87442c7fbacbbffb9347a5b0ff11bffb5d%?35653c9abbbffb7da72a7bd48dbffbc826aa8eb463bffbfa9e%?2bcf91a3bffc2be1650d45d4bffc1ea9a3d2d880bffc090928%?9dadfbbffbd2f6e82949a5bffb9bb16c1e364cbffb6939eadd%?590cbffb104e618ce2d2bffac5cee17a02fbbffa8e89656eef%?a2bffa2f9ca5bd944bbff9d31769a91106bff9c111ada76d98%?bffa13f9e7b80d9ebff9a1d323fee2cabff9407fed20296bbf%?f9501e2584f4c7bff9bc42a66dbd73bffa23992c8c5005bffa%?48d8ec95bff0bffa2264e48626f6bff9c5dfa871a3b1bff9bf%?dd65a14489bff9f722e1ac57e2bffa59ab6d00b45bbffa8d56%?29d8409ebffa7c83a96d4c34bffa2e696a26e547bff9e784a9%?478c87bff9a09fe86833c6bff9b17268d32831bff9755de58e%?64b2bff90203e63e8ddabff8af1bac2df0d4bff85162281344%?80bff81b4fe79ee02abff7da6d698fe692bff79388a8b08dd2%?bff71a2c669057d1bff6cadeebb341e1bff70cf4a558ea7dbf%?f75b0ee49f5169bff7851dabe2717abff7c60029f16b12bff7%?e2d6238da3c2bff8094a2b9d3cbcbff8743a647fdc59bff8e8%?c8abd5dc40bff936e2eb1c432dbff981626b2f2303bff960f0%?a5efe932bff977c5692b3cc5bff98295a6c5d207bff92ade65%?7b84dcbff90e086bdf4c2bbff8cf8c64fdb09abff883d9a954%?21c0bff8a7e62dc6e2a8bff85d66adb402d1bff865cf67b1c0%?01bff8094a2b9d3cbcbff7d0d0678c0054bff7cf9d2bf55150%?bff79d25aab47410bff72c332f01754bbff71a2c669057d1bf%?f788b86b15f890bff7c60029f16b12bff7c73365881a15bff7%?b192ea52ef91bff76e48e8a71de7bff79f8d2e514c23bff7d0%?d0678c0054bff818e864020818bff7b8c868b9fdbdbff7cd35%?a858793ebff82fbd273d5babbff86bd1aa821f2abff871d3ed%?527e52bff8b6512a94ff00bff8ff9c62a1b5c8bff960f0a5ef%?e932bff9e3e9ea140571bffa41a261bf37b9bffa8fbca1059e%?a5bffaeea960b6f9fdbffb0de7ea5f84cbbffb36c2699c7bcc%?bffba41a261bf37cbffbd42a23bff8a9bffbe9cbab649d39bf%?fbd7c4e2f37fbfbffb8d4562e09fe8bffb25efe9318762bffa%?b763e4abe6a3bffa63476295208ebffa00bfe3b03e21bff999%?6a6a01259abff92743a647fdc6bff8e79463cfb331bff8cabe%?6a337a81bff9454de7ea5f85bff90f3ba775fb2fbff8ade764%?27c7c5bff87dd76683c298bff80ce4ead0c3d2bff7a327ed84%?d339bff7bd976ff3ade2bff7b7952d234ebabff77f1b691212%?51bff75eaab042528bbff728986fcdee35bff6c877681669cf%?bff6a46bf01322f2bff62774eebf65dcbff5c753e707e176bf%?f552c6ac215b9abff50379314445aabff50244e93e1c9bbff5%?5ecb31c219ebbff5b8e8ea39c51ebff60d9de8b3b320bff670%?c026cc1ca4bff6d47bedb72820bff6ffbdf090f734bff75b0e%?e49f5169bff765e02ea960b7bff6ffbdf090f734bff6f01eab%?bcb1cdbff7503ea704bc27bff79f8d2e514c23bff7ffad2999%?567ebff86e392e1ef73cbff8bb1f255f351abff87ca42aed13%?94bff8094a2b9d3cbcbff806e2a80064aabff827546d3f9e7c%?bff7e40d6b93ccd1bff7972367e414e8bff7ab90a7829069bf%?f7e8d8665e02ebbff7b7952d234ebabff76378ab0c88a4bff7%?7f1b69121251bff72e99a62ed352bff6b40d2877ee4ebff63f%?7ced916873bff5dbc126a65cf6bff5d0f0e90bc7b4bff5b8e8%?ea39c51ebff56265f0f5a101bff4f3d9ec700043bff4af5caf%?2d7f95bff4ae2867275686bff4c295a6c5d207bff4d8372e6a%?7696bff50be1eb4202dabff540c0f01fb82cbff5a81669ced0%?b3bff5ec93a7115161bff63e48a58b3f64bff693996fa82e88%?bff6805f6ba0620bbff6250d6b228dcabff5d5bff04577d9bf%?f581a36e2eb1c4bff533892ee84ad8bff5398b71b8aa00bff5%?806f262888b5bff5853e2d6238dabff53abead4f5904bff4f5%?0d2806af47bff4da9eb2074ea9bff49e8a2ec28b2abff45da7%?b0b39192bff48eeae9ee45c3bff4edd7a99fa11bbff534bc6a%?7ef9dbbff4d49c6f36ef80bff4a0f1b25f633dbff463a8e714%?76b0bff482e770bd017ebff4e6a22b3892efbff55b2f661f18%?cabff5c3b927d45a60bff5fc32ebe596c8bff5f295e9e1b08a%?bff5e2f7b17ce52ebff59275ee99a62fbff533892ee84ad8bf%?f5157eed45e918bff4c4fd2a62aa19bff44f3ba775fb2fbff4%?0255b035bd51bff4132830a0b1bcbff3b56eac860568bff351%?b3f20d73f7bff2fc64345cfedfbff2903fb3743633bff22db8%?348f53c5bff2147bedb72820bff27e38eb0318b9bff2e0c069%?e7fb26bff336113404ea4bbff38a2ca9ac3654bff3a368f084%?61fabff405f06f694467bff46fad6cb53501bff440d0aaa7de%?d7bff47bb1f255f352bff4c897e996312fbff522b6ae7d566d%?bff50d1526d8b1ddbff4af5caf2d7f95bff45da7b0b39192bf%?f3fb2031ceaf25bff38691ea78af3ebff375bf6a0dbad4bff3%?e31832fcac8ebff44a6dacabc515bff4794a6eb91b3fbff47c%?e52deca255bff42795703f2d3cbff3e1e3eaf6837fbff3c2a6%?6dbd72bdbff4098b2e9ccb7dbff3f6512a94ff00bff3a703af%?b7e910bff34ce4ead0c3d2bff2fd976ff3ade2bff2b91a32b1%?2d34bff31204af922963bff3662131a8ef78bff30f9d2bf551%?50bff2b57f737da61ebff25efb6dca07f6bff24826aa8eb463%?bff2a4acf312b1b3bff2fffef39085f5bff3662131a8ef78bf%?f3bca42aed1394bff40723aafff36bbff3b1d3ed527e52bff3%?541a6937d1febff34a7e73a365cbbff2fd976ff3ade2bff2a7%?136a400fbbbff2856e696a26e5bff2602ea960b6fabff228e9%?2d55a3a1bff245c03361565cbff1de69ad42c3cabff1bb9170%?d62bf1bff17aaef2c73259bff15307af20ea5bbff13d6733eb%?bfd7bff1a3897204295abff1cd972cd7cf5fbff187e6b3fe9f%?aebff1fda72a7bd48dbff251c3ac929aa2bff2a2456f75d9a1%?bff31f3c70c996b7bff367546d3f9e7cbff31ba1b1960fa1bf%?f2b91a32b12d34bff2f52da98676a7bff34bb1af3a14cfbff3%?494a2b9d3cbcbff2dbf26f1dc50dbff28f0b6b6e0d24bff237%?542a23bff9bff203a96d4c33b5bff1a98bb4d48883bff13aff%?b04ee7c5bff162a6f3f52fc2bff1b1f46ed245b3bff22db834%?8f53c5bff29b0ff10ecb75bff2de59f2ba9d1fbff26d666a98%?244fbff1f7a5f41aef70bff1fa0c6b484d77bff257c5ef62f9%?cabff27bd273d5bab2bff25efb6dca07f6bff2843b2dd377e2%?bff2cc532a497fa6bff2bf1b69121251bff25efb6dca07f6bf%?f210e12e83a10dbff1b929ed3953dfbff175dfeb8d8234bff1%?0152b0a6fc59bff0e47baa9b499dbff07f8db4890929bff036%?41700cd856bff03fde7210be94bff004fe36d22425bfef6429%?e0a41a26bfeea1815a07b353bfee84ab606b7aa2bfed945b6c%?3760bfbfed450ce4ead0c4bfed450ce4ead0c4bfed8d25edd0%?5293bfee6f0de536501ebfee26f1dc50ce4fbfee84ab606b7a%?a2bfef06705c896dd2bfef38e8ea39c51ebfefc918e325d4a6%?bff04f7db6e503fbbff0858eeae9ee46bff0e47baa9b499dbf%?f133ca31e7d999bff1857f3061c79bbff133ca31e7d999bff0%?f080303c07eebff0906034f3fd93bff0fb506dd69d30bff16c%?42e9899bf6bff1bcc4ac6cdaf5bff162a6f3f52fc2bff103ba%?3443d46bbff0a132b55ef1febff05919ac79702ebff0a733eb%?bfd71bbff0fdb7f1737543bff1496aad1d041dbff0e215336d%?eb96bff0604f2ae07e5abfeff6c2699c7bccbfef91d3671ac1%?4cbff00c33b5393251bff0604f2ae07e5abff0a3992c8c5005%?bff07255f3519bd4bff0bcd573647babbff0b3387160956cbf%?f05919ac79702ebff0798b71b8aa00bff07255f3519bd4bff0%?73892ee84ad8bff015cfaacd9e84bff00c33b5393251bff053%?1876188b11bff069ec2ce46499bff08a5df2239e6bbff033d9%?ec700043bfefd04e618ce2d2bfef3db5d894812cbfee6f0de5%?36501ebfeea1815a07b353bfef1743e963dc48bfefb845564b%?6630bfef5a8deb0fadf3bfef28155d5f56a8bfeef59ee88df3%?73bfef883558a76102bfeff1f36262cba7bff0497b7414a4d3%?bfefc918e325d4a6bfef6b5f5f0b2852bfeed3f9e7b80d9ebf%?ee8be0ded288cebfeded45e9185ceebfedf94a6eb91b3fbfee%?63065f9591cdbfee0eeae9ee45c3bfed51116a8b8f15bfed17%?635e74299ebfeca1a2e7f6f4bfbfebefcdee34fc61bfeb4c63%?f141205cbfea7db6e503fb37bfea90f0e90bc7b4bfeb5130df%?9bdc6abfebe8986fcdee35bfeb66d15ad106eebfeab9cb6848%?beb6bfead1d25aab4741bfeb9bb05faebc41bfec5989df1172%?efbfecfcf3dc054ef4bfedbacd5b6805a3bfee41615ebfa8f8%?bfed8856e696a26ebfecf0f16f4384babfec37e4de3b8a1abf%?eb9bb05faebc41bfeb0de6ddf00dbfbfea6a7ce0fc2ebabfeb%?58665e02ea96bfeba07f66e86c66bfeb72d5e071c53fbfec05%?6e696a26e5bfecc347e8ccdd94bfec48b86b15f890bfeba54e%?6e221c8abfeaf3775b813016bfe9eb1e5c0b9991bfea6a7ce0%?fc2ebabfead1d25aab4741bfea07f66e86c658bfe98fcd67fd%?3f5bbfe9153dea465a57bfe8c122749f0e4ebfe830f062d40d%?afbfe79bf162ae4b02bfe6ffbce4217d28bfe6ea1c68ec52a4%?bfe75640e9d51b50bfe805af6c69b5a6bfe89378ee286727bf%?e92d44dca8e2e3bfe99702e6644d87bfea1192641b328bbfe9%?8afe60c38f36bfe99bd1ed9dfdacbfeaa42aed139431bfeb0d%?e6ddf00dbfbfebb61fe21d96eabfeb8d4562e09fe8bfebd2f5%?dbb9cf9abfecb743632c1f43bfeccf4c6e6d9be5bfebe8986f%?cdee35bfeb4794ea077037bfeafd1569f49060bfea71b25f63%?3ce6bfea16616b54e2b0bfe9b641700cd856bfe9153dea465a%?57bfe921426fe718a8bfe8b04ee7c49fd8bfe7d0d0678c0054%?bfe6ffbce4217d28bfe66d2674080f99bfe71c94f69ca9efbf%?e80348f53c579fbfe824ebdd334c5ebfe8b04ee7c49fd8bfe9%?5d56f32bdc27bfe9bd76ee73e682bfea65aff2a172acbfeb40%?5f6ba0620bbfebac83ec892ab7bfeb044ae85b9e8cbfea500d%?5e8d5411bfe9eb1e5c0b9991bfe95887ebf22c02bfe8d92967%?0196d9bfe7fc115df6555cbfe80ce4ead0c3d2bfe72d666a98%?244fbfe6805e5f30e7ffbfe5da8deb0fadf3bfe5458eeae9ee%?46bfe5cc22ee41919bbfe6ae07e5a78f26bfe71c94f69ca9ef%?bfe7fc115df6555cbfe78650e779207dbfe83a8e71476af9bf%?e9260f5e41d4b7bfe93bb1f255f352bfe887746887a8d6bfe8%?c122749f0e4ebfe857646ae3a3a9bfe7f2756861e929bfe743%?06e5cd4ed3bfe652b6f19934f0bfe6143bf727136abfe6c141%?e9af5ba3bfe6cd466f5019f4bfe65c52e72da123bfe7048beb%?5b2d4dbfe6ae07e5a78f26bfe646b26bf8769fbfe5ace46499%?06cdbfe5e69270b06c44bfe53254e6e221c9bfe4b7c5692b3c%?c5bfe43d35eb7457c1bfe416c1e364bec6bfe4bc947064ecea%?bfe56c02f2f98740bfe57cd466f5019fbfe49620685553efbf%?e4bc947064eceabfe41b90ea9e6eebbfe351b2e59af9ecbfe3%?2da76d97b310bfe3a1016ce789e7bfe3bb70ef566491bfe449%?3a71151612bfe504ab606b7aa2bfe4807fed20296bbfe4807f%?ed20296bbfe54f2ae07e5a79bfe5da8deb0fadf3bfe5b419e3%?0014f9bfe4e56eefa1e3ebbfe56c02f2f98740bfe58da7f3cf%?7015bfe4b2f661f18ca0bfe3f9ebe9c88616bfe32da76d97b3%?10bfe2b317efe0ce0cbfe2e0c176577532bfe340e1719f7f8d%?bfe388f861a60d45bfe436006d0d4995bfe52d87f88765babf%?e62c42e9899bf6bfe71c94f69ca9efbfe74a3c64345cffbfe6%?745bf26f1dc5bfe6ea1c68ec52a4bfe7a326e115592ebfe7f2%?756861e929bfe8b51deefe4ffdbfe9755de58e64b2bfea0327%?674d1633bfe93213e3e29308bfe88ea9e6eeb702bfe8850df1%?5a4acfbfe89378ee286727bfe83358f2e05ccdbfe7697aeddc%?e7cdbfe6b07075b3e143bfe5fe996312f4cfbfe55ffe6d58c8%?efbfe4854ef459d990bfe45edaec4a4096bfe49151611ba3ca%?bfe4a224edf61240bfe58409e55c0fcbbfe63aade657b84ebf%?e6c141e9af5ba3bfe72897635e742abfe7972474538ef3bfe7%?d0d0678c0054bfe824ebdd334c5ebfe83f5b5fa22707bfe781%?81e03f7058bfe6f620ee8d10f5bfe603686a4ca4f4bfe528b8%?f14db595bfe49151611ba3cabfe45edaec4a4096bfe4b7c569%?2b3cc5bfe5458eeae9ee46bfe61908e581cf78bfe5df5cf249%?5e18bfe5e69270b06c44bfe558c8eef1bac3bfe60837718655%?19bfe6805e5f30e7ffbfe6faeff5c6c11abfe770b06c43f5f9%?bfe7da6e75ff609ebfe887746887a8d6bfe9260f5e41d4b7bf%?e89378ee286727bfe7e670e2c12ad8bfe75640e9d51b50bfe6%?6121ee675148bfe59274e22a2c23bfe58409e55c0fcbbfe620%?3e63e8dda5bfe69600f345069abfe7095af294dd72bfe7aa5c%?5f7c675abfe8529563a9f384bfe8eec9e236c15dbfe98afe60%?c38f36bfea54dc65c70436bfeafd1569f49060bfebe8986fcd%?ee35bfecdb4edb2f661fbfed8d25edd05293bfee7fdc5931ca%?7dbfef3419e30014f9bfefeabde3fbbd7bbff06c53b0813cac%?bff09d97f62b6ae8bff0b8066c2acb86bff0a3992c8c5005bf%?f0a733ebbfd71bbff0f54e2b063e08bff1470435efa616bff1%?b1f46ed245b3bff1e6d373affb05bff1c9fc6da44849bff1e0%?d130df9bdcbff20ddeebb341e1bff237542a23bff9bff2950d%?ae3e6c4cbff2cfede97d06bcbff2f661f18c9fb6bff2bf1b69%?121251bff2f52da98676a7bff34e1932d6ece1bff3b0a0b1bb%?cf4fbff417f62b6ae7d5bff482e770bd017ebff4edd7a99fa1%?1bbff51a4ce8101f32bff4fb0f6ad70e6fbff4f8a7e73a365d%?bff4bdc7abfb9bedbff4901f31f46ed2bff4ba2cecc814d7bf%?f4f8a7e73a365dbff57939a7c17a89bff5faffb04ee7c5bff6%?7327aa68f4b6bff6eeeb702602c9bff76aae297396d1bff799%?8aeb80ecfabff7998aeb80ecfabff77a4d6e47dc38bff7757e%?670e2c13bff7998aeb80ecfabff78fede97d06bcbff7adf82b%?1f687bbff7f7446f9b994ebff82c226809d495bff84dc768df%?bd6abff8529563a9f384bff87b70ef566491bff85897a67a52%?acbff865cf67b1c001bff8c388ebcc6c55bff906d2ed783dff%?bff960f0a5efe932bff9bb0f6ad70e6fbffa24cc6822ff09bf%?fa9e28aa433509bffa4c73abc94706bffa058eeae9ee46bffa%?058eeae9ee46bff9d1e42e126202bff968262456f75ebff950%?1e2584f4c7bff8dcc426351defbff888a7a41e57dabff83a8d%?64d7f0edbff7e53da72a7bd5bff78650e779207dbff789eba6%?aca793bff7e53da72a7bd5bff7f3a8a3f8982dbff7c1322f27%?34f8bff78650e779207dbff7becaab8a5ce6bff7eb3fe9fada%?fdbff84dc768dfbd6abff89f7c6759ab6dbff8ed96a6a0125a%?bff9441aac53b081bff97efae7924af1bff9cbe1eb4202dabf%?fa406f262888b5bffa54dc65c70436bffaa8f8e7ddca4bbffa%?db70691ea78bbffb272324c83665bffb8c122749f0e5bffbd7%?c4e2f37fbfbffc0d3c64345cffbffc67f5e84f0953bffcb00d%?e4c51117bffd14fce746cb96bffd6de76427c7c5bffd97f51e%?fb6dcabffda9fbe76c8b44bffdbd34df04ddb5bffdaec9e236%?c15dbffdce075f6fd220bffe0b4f1e4b44a2bffe02e6644d87%?72bffe2223e1869835bffe6dd7a99fa11bbffec327674d1633%?bfff187724fa8b4cbfff702e6644d877bfffbbe121ee6751c0%?0006cb10342aaac00042df9378ee28c0007255f3519bd4c000%?a4ccee5abc0ec000cedb2f661f19c00108882f0e0d85c00143%?68f08461fac0017a14cec41dd2c001a2ef4e0114d3c001d132%?7243137bc001ff75104d551dc0022c83ec892ab7c002602f2f%?987400c0029172ef0de536c002b317efe0ce0cc002df8d2e51%?4c23c00310d0edc3bd5ac0034eb2d0a24463c00390c9107faa%?04c003cfde2ef4e011c0040255b035bd51c0042a960b6f9fcb%?c0044c3b0c4588a0c0047b17ce52decac00494ed2cbea4ecc0%?04c6ca89fc6da4c0050111ada76d98c005281ecd4aa10ec005%?37bd8be7296fc0054e924f227d03c0055ecaab8a5ce6c00567%?cd898b2e9dc0056a350d2806afc0055ecaab8a5ce6c0056098%?0b242071c0053abead4f5904c005131769a91106c004ffddeb%?d9018ec004ef0b6b6e0d24c004befb6dca07f6c00493b96af0%?38e3c00470e12e83a10dc0044e086bdf4c2bc0041f2c3009b3%?07c003e0168b5cbff4c003a4028e4fb97cc0036f240fa9c12f%?c0033f138bcdfefcc00310d0edc3bd5ac002d7bd8be7296fc0%?02aaaeafab53d6c00277036c9c0d8dc002301f31f46ed2c002%?03a96d4c33b5c001d99b2c40d0abc001aa25529fe005c0018a%?e74f2f123cc0015b70ef566491c00128f96e158751c000f8e9%?70718223c000c671ef30a4e3c0008e924f227d03c00050b0f2%?7bb2ffc0002dd82fd75e20c0000c332f01754bbfffd51c5c57%?18ecbfff7897204295a7bfff13a81dc0db27bffe9a4ce8101f%?32bffe59695d91ab8fbffe3b60285ec3dbbffe1753a3ec02f3%?bffde14163779e9dbffd73e9a6f826eebffd2bd1aa821f2abf%?fcda1b9f98b71cbffc82656abde3fcbffcc0e065300581bffc%?eaee2003ab86bffc82656abde3fcbffc2be1650d45d4bffc5e%?58e64b2314bffc9203a322af57bffce887a8d64d7fbffd55df%?6555c52ebffdc0cf9e3864cbbffd8d24e160d888bffd8856e6%?96a26ebffd8856e696a26ebffdaec9e236c15dbffdf5aea316%?1a1ebffe5233df2a9d62bffeac52a411c2a0bffed2c59fb1e1%?8fbfff26e221c8a7a4bfff74fc610f0e91bfffb84662bae03b%?c0000d66f0cfe154bffffcc39ffd60e9bfffa2a5e785b5b7bf%?ff56f21f6cacd2bfff07a4a48f96e1bffeca5ce5b4245fbffe%?a04e1e71044fbffe957de0d66f0dbffeb1209edbf8babffe7f%?dd65a14489bffee131a8ef77f2bffea3e8dda48b65bffe5f6b%?a0620db7bffe59695d91ab8fbffe656de33269e0bffec7f562%?174c4dbfff354d1e96c3fcbffec327674d1633bffe703e20cc%?ff22bffed05f28848388bfff4e89656eefa2bfffc1e364bec6%?7ac000226dce39b457c00062b6ae7d566dc000982f51266341%?c000c671ef30a4e3c000c83f4eca686ec0009f64cf8d716dc0%?007255f3519bd4c00080c0f01fb82cc000ad362e903644c000%?af038e29f9cfc00080c0f01fb82cc0005ae7924af0bfc00025%?6eefa1e3ebbfffc918e325d4a6bfff4e89656eefa2bffedd95%?dd4c76d1bfff1e7967caea74bfff67c49fd7a13cbfff20dfde%?f8487cbffec45aa2e3c537bffe5d052934acb0bffe08e8a71d%?e69bbffddc7368ad6883bffd9df761cbccf3bffd6b7fe08aef%?b3bffd4fdd22856606bffd1d65a14488c6bffd25cf67b1c001%?bffd5aad601ffb48bffd7784662bae04bffd7fed20296b33bf%?fdac625e99e94bbffdd1a21ea35936bffe1c219eb6390dbffe%?957de0d66f0dbffe8712e40852b5bffe6b702602c908bffe5f%?6ba0620db7bffe9de7a743a648bffee398201cd5fabfff1877%?24fa8b4cbfff5f5be5d9e40dbfffc6b15f88fc93c0000e9ab2%?9e4d5ec0002870110d137fc000213a92a30553c00045e02ea9%?60b7c00075568e820e63c0009b30728e92d5c0006bba12b5e5%?2ac0002dd82fd75e20c00003c9eecbfb16bfff9a3c21187e7c%?bfff3b4f61672325bfff1742dcf4623dbfff7897204295a7bf%?ff91d3671ac14cbfff3b4f61672325bffee131a8ef77f2bffe%?e131a8ef77f2bffed6605ee568a5bffe957de0d66f0dbffe6d%?d7a99fa11bbffe28262456f75ebffdd8d8a979e16dbffd8d24%?e160d888bffd49dadfb506ddbffd25cf67b1c001bffd0691ea%?78af3ebffcda1b9f98b71cbffc959e6256366dbffc82656abd%?e3fcbffc344b2b777d0fbffbe02ea960b6fabffc0d3c64345c%?ffbffc42b628459967bffc67f5e84f0953bffc043a2163fdd6%?bffb8c122749f0e5bffb18b827fa1a0dbffa9e28aa433509bf%?fa28672756861fbff9ce48626f60e1bff98aff6d330942bff9%?4a1be2b4959ebff9046b69db65edbff8c388ebcc6c55bff869%?6a26e54717bff7fe79ee02a77abff7a327ed84d339bff7503e%?a704bc27bff6f2862f5989dfbff683fa2ad3e921bff62d7625%?204af9bff5e42aed139431bff57204295a6c5dbff50713f077%?ccc0bff4854de7ea5f85bff40bf2b239a390bff399cbee807b%?bbbff35681ecd4aa11bff3159f6ec5b079bff2e327ed84d339%?bff2b91a32b12d34bff2843b2dd377e2bff2495af294dd72bf%?f20ddeebb341e1bff21348b220791cbff1f7a5f41aef70bff1%?9eba6aca7935bff151d4738a3b58bff127c5ac471b48bff0d7%?44f5d35654bff069ec2ce46499bfefd04e618ce2d2bfeecf2a%?e07e5a79bfee0d1be2b4959ebfed8387df5cf249bfed39085f%?4a1273bfed5d15f02c4d66bfed2367e414e7efbfed49dbec24%?80e9bfee054cdb7ae579bfee90afe60c38f3bfee84ab606b7a%?a2bfedd7a56de3326abfed8387df5cf249bfee0d1be2b4959e%?bfeee99a62ed3522bfef96a26e547171bff01f6cacd184c2bf%?f06c53b0813cacbff0b8066c2acb86bff0f080303c07eebff1%?0c22ee41919bbff138982cb20fb2bff16eaa6d267408bff19e%?ba6aca7935bff1cd972cd7cf5fbff21ce5b4245f5bbff22db8%?348f53c5bff28b70ac3a860ebff2eb91b3f20d74bff3494a2b%?9d3cbcbff388f96e158751bff3b43b70ef5665bff3e1e3eaf6%?837fbff417f62b6ae7d5bff404bc27631b58bff3c9dbec2480%?e9bff3de492bc2fc69bff3f6512a94ff00bff428c8abd5dc40%?bff488e8a71de69bbff4e1d4306e5cd5bff53121ab4b72c5bf%?f558c8eef1bac3bff5900e6afcce1cbff5b54e2b063e08bff5%?d95aaf78feefbff6096aad1d041dbff629db65ecc3e3bff640%?b029281776bff65784ec636b09bff67929ed3953dfbff67929%?ed3953dfbff6b40d2877ee4ebff6eb4fa48301a8bff72fcdee%?34fc61bff753d96638433dbff7972367e414e8bff7cd35a858%?793ebff7fc126a65cf68bff83a8d64d7f0edbff877d523b363%?6fbff8bd86a8fc0d2cbff8f398e9707182bff9140daeafab54%?bff95285a921ccd9bff97c9363f572debff99bd1ed9dfdacbf%?f9d1e42e126202bff9d31769a91106bff9c244e93e1c9bbff9%?fd25247cb70bbff9f5efa615a8dfbff9e9ec2ce46499bffa2d%?352220bc38bffa6e18ac9f2fdcbffac49ba5e353f8bffb13e9%?20c069e8bffb37f5a5332ad0bffb2f8ceb356da0bfface38a7%?e73a36bffa6e18ac9f2fdcbffa2264e48626f6bff9bb0f6ad7%?0e6fbff95285a921ccd9bff8ed96a6a0125abff882a66dbd72%?bdbff85c3265add9c2bff891116a8b8f15bff8bfee2c98e53f%?bff8e2c669057d18bff8fc01a36e2eb2bff90d6dacabc515bf%?f9140daeafab54bff923a8e71476b0bff923a8e71476b0bff9%?26106ab14ec2bff936e2eb1c432dbff9441aac53b081bff960%?f0a5efe932bff977c5692b3cc5bff99234eb9a176ebff9a7d5%?66cf41f2bff93a7daa4fca43bff8ed96a6a0125abff8cf8c64%?fdb09abff89f7c6759ab6dbff87b70ef566491bff871d3ed52%?7e52bff86bd1aa821f2abff8348c2e770bd0bff8047b24638c%?97bff7eda76d97b310bff7becaab8a5ce6bff767136a400fbb%?bff71b60ae9680e0bff6eeeb702602c9bff6cface67d77fbbf%?f6ae07e5a78f26bff68794ea077037bff66abef06b3786bff6%?4a4d2b2bfdb5bff610a02b841249bff5bc83a96d4c34bff585%?3e2d6238dabff5853e2d6238dabff5b7b5aea3161abff5fd66%?277c45ccbff6397aaac1094abff6444ae85b9e8cbff664bcad%?9ad85ebff68192a737110ebff6926527a20579bff676c2699c%?7bccbff635dfeb8d8234bff5f4fd6d7e889cbff5b1b36bd2b6%?f2bff576d330941c82bff517e670e2c12bbff49c22ab25b318%?bff421932d6ece14bff3ae392e1ef73cbff34347e8ccdd94bf%?f2dbf26f1dc50dbff28a3d70a3d70dbff264fdb09a671fbff2%?4e28ed5f138cbff2495af294dd72bff203a96d4c33b5bff1b9%?29ed3953dfbff17111f0c34c1bbff133ca31e7d999bff0ece5%?710880d8bff0b8066c2acb86bff07f8db4890929bff044ac6c%?daf4aebfef91d3671ac14cbfeead85dfa871a4bfeda9fbe76c%?8b44bfec9cd3e0bd449abfebac83ec892ab7bfeaca9cdc4439%?15bfe9c243dccea290bfe8d929670196d9bfe811b3f20d73f7%?bfe792556d19decebfe6eeeb702602c9bfe66121ee675148bf%?e5da8deb0fadf3bfe528b8f14db595bfe46fae7924af0cbfe4%?2795703f2d3cbfe35681ecd4aa11bfe2cb1ee2435697bfe238%?887229e908bfe1a5efe9318762bfe20ddeebb341e1bfe1d868%?76e1deadbfe1951e75360d02bfe126916440f239bfe0dc11e4%?2e1262bfe126916440f239bfe13c33f85510d4bfe0c67168f8%?e7debfe05a4ce8101f32bfdfb10fd7e45804bfde6f08cc575c%?07bfdcb9a9da597d4abfdb7c73eee52589bfdaa8f7db6e5040%?bfd9c714fce746ccbfd85e99e94ab1d5bfd6f151e75360d0bf%?d56733ebbfd71bbfd3a369fcf3dc05bfd1ee06d938151abfd0%?a732df505d10bfce73d5bab21816bfcbb62413db7f17bfc902%?03e63e8ddabfc6b7a1c25d0742bfc446cfc829cfddbfc1b927%?d45a5fc8bfc038a7e73a365dbfba48d7e02645e5bfb86833c6%?0029f1bfb5070fbeb9e493bfb4205ff1d81f10bfb56733ebbf%?d71bbfb4205ff1d81f10bfb22c881e4712e4bfa9d57ff9b563%?24bfa721709310129dbfa6612839042d8cbfa2ecd07852f7f5%?bfa553ef6b5d462cbf9cd67fd3f5b5fabf733a0407cc7d1c3f%?929fe004b7f5a53fa4204f2ae07e5a3fade3b8a19c9d5a3fb4%?3393ab430f493fb915379fa97e133fbe0d2014727dcc3fc162%?a5e785b5b73fc34ce3de6149c73fc46d4801f751053fc523ee%?1bd1ed9e3fc64dec1c1d6cf83fc66ac215b9a5a93fc53721d5%?3cddd73fc6b7a1c25d07423fc8ab81f969e3c93fcaf5dbb9cf%?9a073fcd96bfca85cab03fd01bd1ed9dfdac3fd145cfede97d%?073fd26fcdee34fc613fd394ff0025bfad3fd4a6f3f52fc265%?3fd5c286f8ad25683fd6faeff5c6c11a3fd84690de0935333f%?d97ef9db22d0e53fdac100e6afcce23fdc297bfa4c61d83fdd%?b399f5dfeb8e3fdf3db7f17375433fe04be1eb4202da3fe0ea%?7ef9db22d13fe1ad256798958e3fe23fbdf090f7343fe2fffd%?e7210be93fe3c2a66dbd72bd3fe47e1975f2cb643fe534bd76%?ee73e73fe599aa60913a503fe5f4fd6d7e889c3fe663886594%?af4f3fe6e54d61b2a27f3fe75b0ff10ecb753fe82c2374794e%?a03fe8f5ff609dcf893fe9bd76ee73e6823fea5275ee99a62f%?3feb06b15f88fc933feb96e3715400323febdefa615a8deb3f%?ec7192ea52ef913fecb4dcebfec13c3fed08f861a60d453fed%?6de76427c7c53fedf47b677f6b1a3fee8e496ededaec3fef40%?1e68a0d34a3fefed245b291b823ff026a22b3892ef3ff05de8%?b3b320533ff0b0d0edc3bd5a3ff120902de00d1b3ff1904f6d%?fc5cdd3ff1603f705857b03ff10c22ee41919b3ff1182773e2%?4fec3ff13fcdab191dde3ff177143393ab433ff1ba5e353f7c%?ee3ff20e79aae6c8f73ff268986fcdee353ff2d388a8b08dd2%?3ff32da76d97b3103ff3929670196d8f3ff40bf2b239a3903f%?f47a7daa4fca433ff4f17268d328313ff56265f0f5a1013ff5%?c9bb6aa4b9883ff63111f0c34c1b3ff6a6d2674080fa3ff722%?962cfd8f0c3ff78d8665e02ea93ff7eedaa92e62133ff85162%?281344803ff8ade76427c7c53ff91b402d16b9803ff9936827%?30c6713ffa06c226809d493ffa5e7967caea743ffabfcdab19%?1dde3ffaf5dfeb8d82343ffb28576cce5f743ffb6337a80cf9%?e43ffb9347a5b0ff113ffbd08f648c71933ffbddc725c3dee8%?3ffc1c422036006d3ffc48b86b15f8903ffc6a5c5f7c675a3f%?fc9cd3e0bd449a3ffc9cd3e0bd449a3ffc9cd3e0bd449a3ffc%?e01de26916443ffcf0f062d40daf3ffd2367e414e7ef3ffcff%?5b5fa227073ffcddb76b3bb83d3ffcc47b24638c973ffcca7d%?6733ebc03ffcddb76b3bb83d3ffd0d2ca9ac36543ffd4b0f27%?bb2fec3ffd96c1e364bec63ffdf3471f79420b3ffe609fe868%?33c63ffecdf7a4e7ab753fff1faca36199783fff6b5f5f0b28%?523fffbf7be121ee6740000e008e9b38d6400045e02ea960b7%?400089c3ce2089e34000c40df1cb89d74000dc12f09d8c6d40%?00f2e72da122fb40010d56b00ffda44001062131a8ef784000%?ee1932d6ece14000d878316a055740009ffef39085f540006c%?53b0813cac400060e94ee392e240009360d02470224000cda7%?6d97b3104000ff85510d38ce4001212a51e321a340013fce31%?50dae44001212a51e321a3400112becedd4845400118c111ad%?a76e40012dc7ef177a7040015e7210be94254001a088509bf9%?c64001e29e90795f67400209abb01c92de400236ba8c586877%?400264fdb09a671f40029774aba387594002cb1feeb2d0a240%?030098915bdd76400334434e3369ba40036df04ddb55264003%?93c9abb01c934003b56eac8605684003e6b26bf8769f400401%?21ee6751484003e6b26bf8769f4003ff548ecd8dbd40042c63%?6b096356400461dc0db2702a4004a3f24d8fd5cb4004e86f8a%?d2567a4005204f2ae07e5a400552c6ac215b9a4005746bacf7%?44704005ae18ac9f2fdc4005ed2dcb1465e9400610068db8ba%?c74006427d88c1db01400659524bfd2e9440066c8bc9cd3e0c%?40069dcf893faf424006d8b04ab606b84006fe89a88ace2540%?072ccccccccccd40076378ab0c88a440079b584b1ab0854007%?cc9c0d8d21bc4007fadea897635e4008231f8a0902de40084d%?2dcb1465e9400886dacabc51554008afb549f948564008ddf7%?e80389f84009170b49e01de2400956ba0620ab714009910129%?cbab654009c244e93e1c9b4009ec532a497fa6400d1d96e9bb%?f0dc400d5adea897635e400d98c0053e2d62400dd7d5a9eb20%?75400b0b8066c2acb8400b496249a133c2400b8ade657b84dc%?400bcbc0e38a7e74400c0d3d859c8c93400c495182a9930c40%?0c88672756861f400cca7d6733ebc0400d0dc647778dd6400d%?45a682b62846400d8087442c7fbb400dc3d145d85165400e01%?1904b3c3e7400e402e2328f9f4400e8679463cfb33400ec7f5%?62174c4d400f0c7325918a01400f431f03d145d8400f5825e1%?3b18db400f3680e0653006400f097204295a6c400ed79420b3%?d4ae400e9b8023a6ce36400e5d9e40c8472c400e1e89225311%?1f400ddc72e275ab7e400da22c45026890400d66b1e5c0b999%?400d2f6be37de93a400d57acc4ef88b9400d988f42fe825140%?0dcf3b213e3e29400e0db606b7aa26400e463065f9591d400e%?8679463cfb33400ecaf6837f7be1400f0e40852b4d8c400f51%?8a009f6230400f93a0407cc7d2400fd48344c37e6f40100718%?2235b4ee40101d9f90539fba4010398f605ab3ab40104fc9ff%?92f2b64010621d10b1feeb401077243137b07040108c2b51bd%?61f64010a04b7f5a53334010b204af9229634010c37110e453%?d24010d5c3dee781844010e94a6eb91b3f4010f71c10d7be98%?40110406c00da1a9401114d940789614401124c51116a8b940%?1130c9107faa04401140b4e11dbca940114c6bce8533b14011%?5870110d137f401167c200c0f02040117afb7e90ff97401191%?3660e51d264011857f3061c79b401167c200c0f020401145d0%?31055b8a401125f88fc9363f40110def6f8f04144010f3ce20%?89e3434010d878316a05574010bba1b1960fa140109ffeb074%?a772401084a8c154c98640106bb9cf9a06a7401054e54f7a91%?97401038f57f737da640102354c122749f40100d66f0cfe154%?400ff0bfa0945f9e400fbd14e3bcd35b400f7dffc5479d4e40%?0f853543aeab7a400fbd14e3bcd35b400feb5781c714fd4010%?0db2e1693c0440101f6cefed6345401034c0df58c08b40104b%?955f78359c4010686bdf4c2b5240107fda4052d667401097e2%?3f24d8fd4010b41f212d77324010cd5ae1cde5d24010e9e44f%?a051444010ed7f0ed3d85a4010d1426fe718a84010b4b8bef8%?ceb3401098c9320d994640107cd96206855540106303c07ee0%?b140104b955f78359c401036db50f40e5a40102ad7518b0d0f%?401021d4306e5cd54010226e115592da4010377531db445f40%?104fc9ff92f2b640106fa1a0cf180140108cc4ef88b9784010%?abb5e0f7fcfc4010cd5ae1cde5d24010e649906cca2e4010fb%?50b0f27bb340110e3d5fdcdf6a401121c3efae7925401138e5%?3eb399f6401153a190082060401171ab8e8ea39c4011789481%?2be48a40118e820e6299524011956b00ffda404011aa71de69%?ad434011be924f227d034011cd4a5df2239e4011deb6bf444e%?0e4011fa0cae642bfa40121816f0068db9401231ec4e7253da%?4012478d4fdf3b644012572c0e7bc3c640126c332f01754b40%?12796af038e2a0401289567dbb16c240129cdd0d8cb07d4012%?a713ad5bee3d4012a412cf0f9d2c40128f0bae89eba7401273%?b5bf6a0dbb40125477ff151e75401232d2fe3f35a040121094%?5f9df5494011eeef5ec80c744011d04b7f5a53334011aea67e%?846a5d401193ea704bc27640118063e07a28bb401172456f75%?d9a1401165f4a1272c9540115ebedfa43fe6401153a1900820%?6040116641700cd856401173c60029f16b40118063e07a28bb%?40118e820e6299524011a1bbcf4e874d4011bf78feef5ec840%?11e0374ff865d84011fe414e7ee914401218b08dd1e53b4012%?32d2fe3f35a0401252f76e6106ab40126ee73e681a9c401288%?bcdfefbf4040129fde2ef4e0114012b57eed45e9184012c905%?7d1782d44012dc3f3e0370ce4012ef78feef5ec84012fcfd8f%?0c77de40130f038e29f9cf40131ba16e7a311f4013240daeaf%?ab5440133576cce5f74040134a7ded6ba8c64013601eeed890%?4f4013743f1c75818c401377403dddb121401365d3dc8b86b1%?40135e047d3d428140134a7ded6ba8c6401332c2bd7f51f040%?1316394face67d401301cbccf28c7a4012eb912dba4d6e4012%?ed11be6e65384013081adea8976340131dbb9cf9a06a401336%?5d7cb2d906401350331e3a7daa4013636cdf266ba5401370f1%?6f4384ba401389463cfb33124013a14e7ee9142b4013b9a34c%?a0c2834013c6412cf0f9d34013cbf65dbfceb84013bf0bae89%?eba74013a6b69db65ecc4013954a3c64345d40139b994e1a3f%?464013b0068db8bac74013c5a74c09c3ce4013d92e1ef73c0c%?4013eb341e14bdfd4014033c1ce6c09440140121ee67514840%?14128e0c9d9d34401429628cbd1245401431cbccf28c7a4014%?399b2c40d0ab401450bcbe61cfff40145d5a5b9628cc40146c%?ac8e68e3ef40147c981beb18114014889c1b54195d40149a08%?7ca643cc4014ad8f0c77dd874014c2962cfd8f0c4014cb994e%?1a3f464014dd056c508b334014e9f01b866e444014f6db0dd8%?2fd740150713ad5bee3d401516ff3ade226040152a38fbca10%?5a40153dbf8b9baa15401554e0daa0cae640156aceaaf35e31%?4015806fac6045bb4015935c5b4aa9714015a6494d50ebab40%?15b7b56b8737974015c2d2bb23571d4015d18b0d0edc3c4015%?d48beb5b2d4d4015d95a6c5d206d4015e3dddb1209ee4015cc%?bc8c0ce91d4015cfbd6a593a2e4015d7d9dba908a24015e0dc%?fcc5b8dc4015eb606b7aa25e4015f630ec3116234016031b9b%?66f9334016113a0c6b484d4016156eac8605684015fccccccc%?cccd4015ff33ca31e7da401609b77c02afde401625a74c09c3%?ce40162ba94bbe447440162a7589efd86b40162640e9d51b50%?4016298eda22f6a5401630c49ba5e35440163a615a8deb1040%?1640fd3b29a1ba40164a005c4651f4401659ebe9c886164016%?693e1c9b413a401676c2699c7bcc4016822ccb3a259640168e%?30caa326e1401698b47c73eee54016a337eb28d8664016ac3b%?0c4588a04016b70b49e01de24016c141e9af5ba34016ce79aa%?e6c8f74016e0ccbc05d52c4016e9cf9a06a6e34016f7a0f909%?6bba401709f40d2877ee40171691ea78af3e40171945f9df54%?8f40172115592d98bf40170d41fa7653434017018ac9f2fdb9%?4016f92189bd83844016ea697aeddce84016d17a89331a0940%?16bbd9cae2110240169fe9fadafd114016822ccb3a25964016%?6388ebcc6c55401647991bc558644016298eda22f6a5401613%?543aeab7994015ff33ca31e7da4015e72bcb5fe5434015cc22%?ab25b3184015b5015c2092474015a0941c8216c640158e8e1d%?6494d5401581f03d145d854015711dbca9691a401566006d0d%?49954015634c1a8ac5c1401578533b107747401590a84be404%?214015a6494d50ebab4015bbea0ba1f4b24015ce3d1cc100e7%?4015e0dcfcc5b8dc4015f32fcac8e68e401609b77c02afde40%?162426bb55ac044016466559f6ec5b401665f02c4d65e44016%?83137b07075b4016a11d798d8a984016b58afc47e49b4016cc%?f91a32b12d4016e29a1b9f98b74016f586ca89fc6e40170ca8%?198f1d3f4017202ea960b6fa40173e38eb0318b940174ad6cb%?53500940174fa5093964a6401752f2f9873ffb40175f90d9d7%?774b40176c7b890d5a5c40177798d8a979e140178135daad60%?2040178784a9478c87401788b86b15f89040178d39da16616b%?4017980d5accd53040179dbf487fcb924017a15a4acf312b40%?17a327aa68f4b64017ab43d89ce4a84017acc46950fc724017%?adab191dde374017af2ba9d1f6014017b36049ecb31c4017bc%?b039ef0f174017c5b35b0bbf514017cc0229a5ebb74017d505%?4ac29bf14017da6d698fe6924017d9d388a8b08e4017e2d6a9%?c560c84017eda72a7bd48d4017ecc07aaef2c74017eda72a7b%?d48d4017f6aa087ca6444017f0f51ac9afe24017f743e963dc%?484017f5c358afc47e4017f3a92a3055324017f4430b178b37%?4017fec679cc74b8401801c75818c5ca4017f743e963dc4840%?17ef748a1598184017eb3fe9fadafd4017e0bc7b45f17c4017%?c8676a7264a14017b6616b54e2b04017a7a919695d9240179a%?719b4dcec040179b0b3919264240178e6d58c8eef240177f1b%?6912125140177497fa5d28d040177d9b1b79d90d40177a4d2b%?2bfdb540177fb549f9485640178b1fab96f21f40177c6759ab%?6d014017697aaac1094a40177798d8a979e1401778cc9a77e5%?eb401767ad4b2745bf4017662cba732df54017731769a91106%?40176893faf4278540176b94d9407896401777e5eaab042540%?178350092ccf6c40177ae6c8f755374017607789a459104017%?48bc59b8023a401747d5a9eb207540175c42e9899bf6401778%?cc9a77e5eb40178b1fab96f21f401794228997c3d74017a15a%?4acf312b4017980d5accd530401792085b18548b4017a15a4a%?cf312b4017af2ba9d1f6014017b6616b54e2b04017c17ebaf1%?02364017cb1b79d909f24017d2ead9274e234017db54195cc8%?584017dbedfa43fe5d4017e0229a5ebb774017dd6e8af81627%?4017e2d6a9c560c84017e7f1f9acffa84017e7f1f9acffa840%?17e5d7cb2d905c4017e70b49e01de24017ecc07aaef2c74017%?e70b49e01de24017e0229a5ebb774017dd6e8af816274017dd%?6e8af816274017d8533b1077474017d384ba0e84274017c867%?6a7264a14017b36049ecb31c4017a4f50d02b841401796d698%?fe69274017809bf9c62a1b401770635a426bb540175ba94bbe%?4474401741d3aa369fcf40172931ca7d673440170f5c28f5c2%?8f4016f36c9c0d8d224016df4c2b51bd624016c141e9af5ba3%?4016b289dadfb5074016d1c79b34a44c4016f2d2bb23571d40%?1710431bde82d8401722491afc04c9401727b139c94f6a4017%?2e004b7f5a5340173883ba3443d4401746084a515cea401748%?bc59b8023a40174e24bba12b5e401756dacabc515540176244%?e93e1c9b40176b94d940789640176fc9795b35b1401777e5ea%?ab0425401783e9ea14057140178c9ff92f2b674017933bd9ca%?e211401798f10d99b6f64017a15a4acf312b4017a40e5a35d6%?7c4017ab43d89ce4a84017b6616b54e2b04017bbc98a222d51%?4017c5b35b0bbf514017c5b35b0bbf514017c8676a7264a140%?17c9e7fb267c6c4017c34c1a8ac5c14017c64cf8d716d34017%?d1b75a74c09c4017dd6e8af816274017dd6e8af816274017de%?a209aaa3ad4017e0bc7b45f17c4017e3708aac96cc4017ecc0%?7aaef2c74017ef748a1598184017f6aa087ca6444017f5c358%?afc47e4017f7ddca4b124d4017fd92fb19e7324017f529bae4%?6cfd4017e4f0d844d0144017d41e9af5ba2c4017ceb6390c91%?084017ba48f96e15874017998aeb80ecfa40177d4e09784ec6%?401767ad4b2745bf4017508bb906466b4017391d9b1b79d940%?1721af3a14cec4401704d8ba40d90e4016e380cb6c7a7d4016%?c1dbca9691a74016a4b87bdcf0304016887b99d451fc40166a%?be6a337a8140164d4e4c942d49401630c49ba5e354401619a3%?4ca0c28340160c1ebc83a96d401604024b33daf94015f54a3c%?64345d4015f1af3a14cec440160582dbe7f2c3401619a34ca0%?c28340162d29dc725c3e401641e3eaf6837f401659ebe9c886%?16401675dbb9cf9a07401692ff4ba51a004016b4a4095f2453%?4016d4c87980f55e4016f01eabbcb1cd40170f5c28f5c28f40%?172ab25b317efe401741d3aa369fcf401758a82a5614e04017%?76188b11409a401795564b662fe04017b3fa2ad3e9214017d1%?b75a74c09c4017e925785f8d2e4017fe2c98e53eb47ff7ffff%?ffffffff401b2fc2224edf61401b23886594af4f401b1302f7%?2b4528401b00afe60c38f3401aed29563a9f38401ad82235b4%?edb3401ac44ed6fda837401ab248d7e02646401aa4c447c30d%?30401a960bf5d78812401a8620685553ef401a7467381d7dbf%?401a6347e8ccdd94401a51db877ab325401a428997c3d68440%?1a3203e63e8dda401a204af922962d401a131337eb28d8401a%?0541d8e864024019f93d966384344019ea858793dd984019d7%?98d8a979e14019c4f8f8a4c1ec4019ae71476af89c40199402%?0817fc7640197a2ca9ac3654401963a4f8726d054019506b37%?867f0b40193bfdf7e8038a401922c2374794ea40191af2d7f9%?50b9401936e2a80064aa40195539b888722a40195f705857af%?ea4019549fd7a13c25401946ce789e774f40193b641700cd85%?40192f1348b220794019265d3996fa8340191972474538ef40%?1908ecd8dbcec84018f81a5870da5e4018e87b99d451fc4018%?d88fc9363f574018c5efe93187624018b3e9ea1405714018a2%?30b9dc2f4040188e5d18090b414018786f47b677f740185e4d%?1a650614401843dd97f62b6b4018283ad9f0a1be4018081669%?ced0b37ff7ffffffffffffc004a9f40d2877eec004a224edf6%?1240c00481b3aeee9574c004553dea465a57c0042d972cd7cf%?5fc0040b588e368f08c003ee820e629952c003dd15f02c4d66%?c003e44b6e935b92c003f6512a94ff00c004115a4acf312bc0%?043aceee0f3cb4c00437342edbb59ec00428c8abd5dc40c004%?3aceee0f3cb4c00453708aac96ccc0046b790fb65669c00488%?e92d55a3a1c004a5260f5e41d57ff7ffffffffffffc0006f54%?d1e96c40c0008b912dba4d6ec0008a5df2239e6bc0007d2630%?ec3116c00073892ee84ad8c0003cdd50a88f00c0000e9ab29e%?4d5ebfffd650a45d41fabfff9ca3a4b5568fbfffa773e24feb%?d1bfffaea960b6f9fdbffff7f5a5332ad0c00012cf0f9d2bf5%?c0002f0bf1a5ca2ac0004dafd113836bc0006f54d1e96c407f%?f7ffffffffffffc000d142b302f72bc000e17b0f6ad70ec000%?e6e32e3821afc000f1b3f20d73f7c000fbea91d9b1b8c00103%?b9ae0c1765c0010e8a71de69adc0011d8f92af9a8dc000fab6%?d00b45aec000c2d72ffd1dcdc0008cc4ef88b978c0006b1fee%?b2d0a2c000544bb1af3a15c0004379314445aac0002fa58f71%?21abc000179d909f1f15c0001b384fd2a62bc0002dd82fd75e%?20c0004d1633482be9c00067852f7f498cc0007c8c9320d994%?c0009e310dbf0564c000bd6f112fd32cc000d275ee99a62f7f%?f7ffffffffffffc0031337eb28d866c002e327ed84d339c002%?af7d30ad46f6c0027f6cacd184c2c00251c3ac929aa2c0021d%?7f51efb6ddc001eba16e7a311fc001b8904f6dfc5dc00183b1%?d0c80410c00153a14cec41ddc0012ac6cdaf4adcc00100b912%?dba4d7c000e515ce9e5e24c000bfd60e94ee39c000b29e4d5d%?80e5c000bea2d2fe3f36c000ce41919ac797c000dc12f09d8c%?6dc000ef4c6e6d9be5c00109bbf0dc768ec0011b280f12c27a%?c00136312f4cf4a5c00166412cf0f9d3c00196eb4e981388c0%?01c8c9320d9946c001f972cd7cf5f5c0022a1cef240faac002%?5bfa4c61d862c00283076c050bd8c002ae496ededaecc002e7%?f66e86c658c00328d8ec95bff0c00364534bd76ee7c0033f13%?8bcdfefcc003176cce5f74047ff7ffffffffffffbff0832873%?bc903fbff0f7b5aea3161abff157d5a9eb2075bff1a98bb4d4%?8883bff1fa0c6b484d77bff246f36ef80560bff2301eabbcb1%?cdbff1d3996fa82e88bff1857f3061c79bbff133ca31e7d999%?bff0c070329802c1bff0604f2ae07e5a7ff7ffffffffffffbf%?ebf969e3c96894bfecca7d6733ebc0bfed2a9d627bf61bbfed%?129670196d8fbfecb4dcebfec13cbfec37e4de3b8a1abfebef%?cdee34fc617ff7ffffffffffffbfec27136a400fbbbfecca7d%?6733ebc0bfed8387df5cf249bfeda9fbe76c8b44bfee3c9257%?85f8d3bfeeee696a26e547bfef4e89656eefa2bfef6b5f5f0b%?2852bfefd783dff3f0febff009cc319c5a3ebff038a8f3a9b0%?68bff0531876188b11bff048472c0e7bc4bfefe121ee675148%?bfeeee696a26e547bfee1fbc5de9c023bfed8856e696a26ebf%?ee6f0de536501ebfef61c36976bc1fbfeec7f562174c4dbfed%?f94a6eb91b3fbfeda9fbe76c8b44bfed129670196d8fbfec37%?e4de3b8a1a7ff7ffffffffffffbfea48d7e02645e5bfeb2abe%?f06b3786bfeabe9a6f826edbbfea07f66e86c658bfea2e685d%?b76b3c7ff7ffffffffffffbfe263c968943e10bfe31806f262%?888bbfe3af6c69b5a640bfe40389f83be660bfe3c2a66dbd72%?bdbfe2cfede97d06bcbfe2422467be553b7ff7ffffffffffff%?bfe28ca3e7d13511bfe339abf3387161bfe40f8c64fdb09abf%?e4e56eefa1e3ebbfe5c4ed6fda836fbfe646b26bf8769fbfe6%?c141e9af5ba3bfe6a2036006d0d5bfe69600f345069abfe5da%?8deb0fadf3bfe50be2f7b17ce5bfe43d35eb7457c1bfe381c2%?e33eff19bfe2cb1ee2435697bfe263c968943e107ff7ffffff%?ffffffbfe15dd8f92af9a9bfe23d577963992dbfe307336588%?1a15bfe3f51ce28ed5f1bfe40f8c64fdb09abfe394fce746cb%?96bfe2cb1ee2435697bfe2060fe47991bcbfe1c2c7fbacb429%?bfe16eaa6d2674087ff7ffffffffffffbfe2fffde7210be9bf%?e3a1016ce789e7bfe44e09784ec637bfe4ea3df6db9410bfe4%?3d35eb7457c1bfe388f861a60d45bfe334dcebfec13cbfe394%?fce746cb96bfe3c2a66dbd72bdbfe2f8c868b9fdbd7ff7ffff%?ffffffffbfe1b6c3760bf5d8bfe1feda66128390bfe298a86d%?71f362bfe2fffde7210be9bfe2cfede97d06bcbfe23152f3c2%?dadc7ff7ffffffffffffbfe334dcebfec13cbfe3e91a75cd0b%?b7bfe4a95a6c5d206dbfe4abc0e38a7e74bfe42795703f2d3c%?bfe3bb70ef566491bfe394fce746cb96bfe334dcebfec13c7f%?f7ffffffffffffbfe463a9f383f0bbbfe46fae7924af0cbfe4%?8a1be2b4959ebfe4c3c9eecbfb16bfe5458eeae9ee46bfe5f9%?cc74b838c1bfe69acde19fc2a9bfe7048beb5b2d4dbfe764ab%?e6a337a8bfe6d94af4f0d845bfe652b6f19934f0bfe58da7f3%?cf7015bfe4d49b62c775757ff7ffffffffffffbfea65aff2a1%?72acbfeaca9cdc443915bfeb2abef06b3786bfebd2f5dbb9cf%?9abfec1b0ee49f5169bfecada76d97b310bfed450ce4ead0c4%?bfee2bc0e38a7e74bfeebbf0dc768dfcbfef702e6644d877bf%?f02f0bf1a5ca2abff07723ee1bd1eebff08a5df2239e6bbff0%?87f66e86c658bff06ebb341e14bebff02b7132724313bfef5a%?8deb0fadf3bfee7b0f6ad70e6fbfedd7a56de3326abfed49db%?ec2480e9bfecb4dcebfec13cbfebe3c968943e10bfeb2abef0%?6b3786bfeabe9a6f826edbbfea7db6e503fb377ff7ffffffff%?ffffbff116f32bdc26ddbff151d4738a3b58bff1cffeb074a7%?72bff21348b220791cbff26afff36ac647bff2e0c069e7fb26%?bff332756861e929bff3808fa7a85016bff375bf6a0dbad4bf%?f33fad2999567ebff345af6c69b5a6bff3206fac6045bbbff2%?de59f2ba9d1fbff2abe27179bfdfbff251c3ac929aa2bff219%?4af4f0d845bff1c9fc6da44849bff151d4738a3b58bff121c4%?75e6362abff116f32bdc26dd7ff7ffffffffffffbff3b7d630%?22dd7bbff3fc536d655e29bff469ab29e4d5d8bff4cc32a8c9%?b845bff4cc32a8c9b845bff4d702e6644d87bff47ce52deca2%?55bff43c02afdda8bdbff3c9dbec2480e9bff3b7d63022dd7b%?7ff7ffffffffffffbff36fbe33acd5b7bff3c3d9a95421c0bf%?f41df86e3b46febff45edaec4a4096bff463a8e71476b0bff4%?5b402d16b980bff40723aafff36bbff3c1733226c3b9bff369%?bbf0dc768ebff36fbe33acd5b77ff7ffffffffffffbff32eda%?a92e6213bff38b60f1b25f63bff3b7d63022dd7bbff3a234a8%?7e38ebbff34e1932d6ece1bff31f3c70c996b77ff7ffffffff%?ffffbff4ea3cea6c1a05bff56131a8ef77f2bff5a94ab1d4f9%?c2bff5f8982cb20fb2bff6203f705857b0bff5c01e68a0d34a%?bff54f2becedd484bff4edd7a99fa11bbff4fd76ee73e6827f%?f7ffffffffffffbff33adf2ecf2064bff3a49c2c1b10fdbff3%?ede8709741d1bff40723aafff36bbff3f3eab367a0f9bff380%?8fa7a85016bff367546d3f9e7cbff33d46b26bf877bff33adf%?2ecf20647ff7ffffffffffffbff60e38a7e73a36bff65d872f%?33ca32bff6b7a4e7ab7564bff70826aa8eb463bff759dba908%?a266bff7adf82b1f687bbff7c1322f2734f8bff79f8d2e514c%?23bff7503ea704bc27bff72161e4f765febff6cadeebb341e1%?bff6a0d130df9bdcbff635dfeb8d8234bff60e38a7e73a367f%?f7ffffffffffffbff5f4fd6d7e889cbff664bcad9ad85ebff6%?e41a261bf37cbff75fddebd9018ebff7c1322f2734f8bff838%?26edaa92e6bff848f96e158751bff7f3a8a3f8982dbff7c733%?65881a15bff76f7c243dcceabff6f7542a23bff9bff689fc6d%?a44849bff6337867f0aa22bff5e69270b06c447ff7ffffffff%?ffffbff8b2b66b6177eabff8e2c669057d18bff911a32b12d3%?41bff941b328b6d86fbff99e3864cb5bb4bff9d31769a91106%?bff9a7d566cf41f2bff9501e2584f4c7bff9200e27e0ef9abf%?f8b04ee7c49fd87ff7ffffffffffffbff960f0a5efe932bff9%?df1ae2da554cbffa4409e55c0fcbbffab161a1db877bbffb01%?e364bec67abffb42c5e2cdc012bffba07f66e86c66bffc043a%?2163fdd6bffc779420b3d4aebffcc347e8ccdd94bffcb877ab%?324852bffc7ffde7210be9bffc344b2b777d0fbffbbfbce421%?7d28bffb62046c764ae0bffb07e5a78f25a2bffac49ba5e353%?f8bffa500e6afcce1cbff9f5efa615a8dfbff9a7d566cf41f2%?bff98897e996312fbff95aee631f8a09bff936e2eb1c432d7f%?f7ffffffffffffbffce887a8d64d7fbffd4fdd22856606bffd%?7784662bae04bffd55df6555c52ebffd0691ea78af3e7ff7ff%?ffffffffffbffba54d61b2a27fbffc0dd72367e415bffc7d96%?638433d7bffcb6102795703fbffcefbd273d5babbffcb877ab%?324852bffca7a52ac753e7bffced55a3a08399bffd4fdd2285%?6606bffd9327243137b0bffd8abe6a337a81bffd73e9a6f826%?eebffdbace67d77faebffdded9dfdac68bbffda19220ff5409%?bffd5846e8f29d41bffd042a66dbd72cbffcab3fe9fadafdbf%?fc451c9f72f76ebffc451c9f72f76ebffcb6102795703fbffd%?14fce746cb96bffcdc8323358f2ebffc9203a322af57bffc1b%?0ee49f5169bffbcf5c28f5c28fbffb9ce4a7b4e54f7ff7ffff%?ffffffffc001e0d130df9bdcc002104790b84988c002331fcd%?24e161c00256922d948dc1c0028d3e0bd44999c002bae70c13%?33b9c00298a86d71f362c0025d2e0e30446bc002254e6e221c%?8ac001f70bd017dae8c001d867f0aa21a77ff7ffffffffffff%?c0032a0cae642bfac0035a1cac083127c0034eb2d0a24463c0%?0378c08b75ea68c0039ccd0fe8ab50c003c03f705857b0c003%?d378ee286727c0039e9a6f826edbc0036aef2c732592c00339%?ab6d00b45bc00310d0edc3bd5a7ff7ffffffffffffc003270b%?8cfbfc65c003571c10d7be98c0038dc7ef177a70c003855eae%?e2003bc0034a7ded6ba8c6c00325d7cb2d905cc003270b8cfb%?fc657ff7ffffffffffffc0040087ca643cc0c00426fb4c3c18%?b5c00457a56de3326ac00475158b827fa2c00439018e757929%?c0040d24cc6822ffc003e1e3eaf6837fc003e74c8ffb8b267f%?f7ffffffffffffc005b2e72da122fbc005e8f96e158751c006%?23400b88ca3ec0060d056c508b33c005dc5b4aa9717ec005b0%?7faa044ae87ff7ffffffffffffc0061ca42aed1394c0064f1b%?ac2df0d4c00682c669057d18c006b671ac14c661c006f45308%?bb9064c0072f33ca31e7dac00764ac6cdaf4aec0079b584b1a%?b085c007da6d698fe692c0080e18ac9f2fdcc0082defc7a398%?20c008201e68a0d34ac007f4dcebfec13cc007be308787485e%?c007895208e15012c0075774aba38759c00730678c0053e3c0%?06fb890d5a5b96c006e7b56b873797c006ae086bdf4c2bc006%?7d5e4a383276c006427d88c1db01c0060e392e1ef73c7ff7ff%?ffffffffffc0079121ab4b72c5c007be308787485ec007f743%?e963dc48c0081380cb6c7a7dc007eb3fe9fadafdc007ad5e07%?1c53f4c0078182ecaeea647ff7ffffffffffffc008ef640639%?d5e5c00912d666a98245c00941198aeb80edc00974c447c30d%?30c009afa5093964a6c009e48387df5cf2c00d1e308787485e%?c00d6046c764ae00c00d9f5be5d9e40dc00dd4d48882f0e1c0%?0b104ee7c49fd8c00b4f640639d5e5c00b5ace67d77faec00b%?2b5807fed203c00b0317268d3283c00dd607c4199fe4c00d93%?f1843c3a43c00d5c126a65cf68c00d363886594af5c00d2398%?a65492ffc009ea85caafbc1bc009add7a99fa11bc0096d8ec9%?5bff04c0092c122749f0e5c008ebc947064ecfc008ec636b09%?63567ff7ffffffffffffbffb599aa60913a5bffb9ce4a7b4e5%?4fbffc07d4e09784ecbffbddc725c3dee8bffb78d823422468%?7ff7ffffffffffffbffb83a860dcb9aabffbeafee6fb4c3cbf%?fc2979e16d6dc2bffc7b2edfe75bc4bffcd1b2e59af9ecbffd%?1fcd24e160d9bffd73e9a6f826eebffdcba0e8427419bffe0e%?eae9ee45c3bffe5233df2a9d62bffe32f661f18ca0bffe14ec%?204f2ae0bffde743a647fdc6bffd84bc27631b58bffd36a1e8%?1cb46cbffced55a3a08399bffc7ffde7210be9bffc3a4c61d8%?622cbffc043a2163fdd6bffbbc2224edf612bffb7b3fa6defc%?7a7ff7ffffffffffffbffbb01eabbcb1cdbffc01d3aa369fcf%?bffc2be1650d45d4bffc6a5c5f7c675abffc55ef1fddebd9bf%?fc01d3aa369fcfbffbddc725c3dee8bffbc48beb5b2d4d7ff7%?ffffffffffffbff96bc0e38a7e74bff99bd1ed9dfdacbffa09%?29aa1d755cbff9cbe1eb4202dabff968262456f75e7ff7ffff%?ffffffffbff9200e27e0ef9abff954ed2cbea4ecbff9a43aa7%?9bbadcbff9d6b228dc981cbffa28672756861fbffa54dc65c7%?0436bffa299a62ed3522bffa19fc2a8869c6bffa2867275686%?1fbff9e784a9478c87bff9983621fafc8bbff94a1be2b4959e%?bff92ade657b84dcbff92877ee4e26d5bff9200e27e0ef9a7f%?f7ffffffffffffbffa59ab6d00b45bbffa6a7ded6ba8c6bffa%?bd66277c45ccbffa8fbca1059ea57ff7ffffffffffffbffa78%?e8ea39c51ebffac23422467be5bffb18b827fa1a0dbffb7eda%?66128390bffbb3b96af038e3bffbddc725c3dee8bffba8e820%?e62995bffb42c5e2cdc012bffad56e264e4862bffa8d5629d8%?409e7ff7ffffffffffffbffccbb0a2ca9ac3bffd343a647fdc%?59bffd43d9a95421c0bffd5377e1b8ed1cbffd2367e414e7ef%?bffced55a3a08399bffcc347e8ccdd94bffc9ba0a5269596bf%?fcac7325918a01bffcbe78e1932d6f7ff7ffffffffffffbffd%?343a647fdc59bffd66b1e5c0b999bffdb264a16a4873bffdae%?c9e236c15dbffd79ebe9c88616bffd4d759ee88df37ff7ffff%?ffffffffbffdfbb0e5e67946bffe4c32a8c9b845bffe5d0529%?34acb0bffe6b702602c908bffe2bc0e38a7e74bffe02e6644d%?8772bffdfbb0e5e679467ff7ffffffffffffbffe55ce9e5e24%?79bffe9de7a743a648bffedb2f661f18cabfff0b3f63c31df7%?bfff50efdc9c4da9bfffbf7be121ee67c00001fc8f32378bbf%?ffa2a5e785b5b7bfff2a7ce0fc2ebabffecdf7a4e7ab75bffe%?8f7b9e060fe4bffe5d052934acb0bffe38f8a4c1ebc8bffe41%?615ebfa8f87ff7ffffffffffffbfff7afea3df6db9bfffdfed%?a6612839c00007fed20296b3c0002b7132724313c000527e52%?15768ac00029a3d2d87f88bfffebf11f926c7fbfff8100e6af%?cce2bfff50efdc9c4da9bfff548ba83f4ecabfff7afea3df6d%?b97ff7ffffffffffffbffd102de00d1b71bffd2bd1aa821f2a%?bffd60afa2f05a71bffd7c5260f5e41dbffd9327243137b0bf%?fd9df761cbccf3bffda3f9a49c2c1bbffde14163779e9dbffe%?1151611ba3cabffe4c32a8c9b845bffe4c32a8c9b845bffe22%?23e1869835bffde14163779e9dbffd9327243137b0bffd49da%?dfb506ddbffd129563a9f3847ff7ffffffffffffbffa359ee8%?8df373bffa7c83a96d4c34bfface38a7e73a36bffb37f5a533%?2ad0bffb9ce4a7b4e54fbffbf367a0f9096cbffc4b1ee24356%?97bffc27136a400fbbbffbaa1c68ec52a4bffb298aa8650e78%?bffaadc6e2a80065bffa359ee88df3737ff7ffffffffffffbf%?fd417225b749aebffd66b1e5c0b999bffd343a647fdc59bffd%?309fa54c5543bffd73e9a6f826eebffd8abe6a337a81bffd97%?f51efb6dcabffdd409a2403148bffe2223e1869835bffe4c32%?a8c9b845bffe73d8e0008638bffe837824d4cb9fbffeed3522%?20bc38bfff50efdc9c4da9bfffafdc9c4da900c00003c9eecb%?fb16c00001fc8f32378bbfffdfeda6612839bfff9a3c21187e%?7cbfff6dc6e2a80065bfff956e264e4862bfffd2b5e529bae4%?bfffb5dedf1e0829bfffa50c5eb313bebfff7897204295a7bf%?ff1e7967caea74bffeb98a65492ff5bffe931769a91106bffe%?59695d91ab8fbffe0b4f1e4b44a2bffdc0cf9e3864cbbffd41%?7225b749ae7ff7ffffffffffffc005f4fd6d7e889cc005f4fd%?6d7e889cc00616a26e547171c0063ee2c98e53ebc00671f3e8%?9a88adc00696006d0d4995c006baa60913a4f8c006f1526d8b%?1dd6c006f887ebf22c02c006c6106ab14ec2c0069dcf893faf%?42c00688c8abd5dc40c0065bb9496249a1c0062eaa6d267408%?c00603686a4ca4f47ff7ffffffffffffbffd3ca42aed1394bf%?fd66b1e5c0b999bffdb4cc25072086bffdeade657b84dcbffd%?e14163779e9dbffd9b8fde2ef4e0bffd6919695d91ac7ff7ff%?ffffffffffbffe2bc0e38a7e74bffe08e8a71de69bbffdf5ae%?a3161a1ebffe0eeae9ee45c3bffe2f5ba2be058abffe59695d%?91ab8fbffe3b60285ec3db7ff7ffffffffffffbffd2e3821af%?7d31bffd2bd1aa821f2abffd2367e414e7efbffd2367e414e7%?efbffd47746887a8d6bffd6de76427c7c5bffd9b8fde2ef4e0%?bffdbace67d77faebffdbace67d77faebffda9fbe76c8b44bf%?fd60afa2f05a717ff7ffffffffffffbffb31f36262cba7bffb%?78d823422468bffbb61fe21d96eabffbe9cbab649d39bffc13%?d96638433dbffbda2c669057d1bffbb9baa1511e00bffb8fac%?e67d77fbbffb4eca686e7e637ff7ffffffffffffbff95aee63%?1f8a09bff977c5692b3cc5bff9a1d323fee2cabff9d6b228dc%?981cbffa058eeae9ee46bffa28672756861fbffa19fc2a8869%?c6bff9cbe1eb4202dabff99100a393ee5fbff96bc0e38a7e74%?bff95aee631f8a097ff7ffffffffffffbff5e69270b06c44bf%?f640b029281776bff68794ea077037bff6cd466f5019f4bff6%?f2862f5989dfbff7323465625a68bff75fddebd9018ebff78c%?532a497fa6bff7b660e51d25abbff7c99ae924f228bff7f744%?6f9b994ebff8107faa044ae8bff80e18266772d6bff8262025%?39756dbff826202539756dbff7b9fba450acc1bff7804ea4a8%?c155bff759dba908a266bff72fcdee34fc61bff705bf26f1dc%?51bff6f2862f5989dfbff6cd466f5019f4bff6a59f2ba9d1f6%?bff66abef06b3786bff635dfeb8d8234bff5f8982cb20fb2bf%?f5c285ec3dab5c7ff7ffffffffffffbff93ce52deca255bff9%?6e2867275686bff99100a393ee5fbff99bd1ed9dfdacbff94d%?b7ae5796c0bff9347b677f6b1abff917a56de3326abff9347b%?677f6b1a7ff7ffffffffffffbff8047b24638c97bff80815e3%?9713adbff7f7446f9b994ebff8047b24638c97bff817b5286b%?5914bff8529563a9f384bff842f72b452828bff7fe79ee02a7%?7abff7e53da72a7bd5bff7f1422ccb3a26bff7d46b26bf876a%?bff80815e39713adbff82c226809d495bff877d523b3636fbf%?f8bd86a8fc0d2cbff8e79463cfb331bff90f3ba775fb2fbff9%?2ade657b84dcbff95887ebf22c02bff97efae7924af1bff92a%?de657b84dcbff8ed96a6a0125abff8f398e9707182bff8e9fb%?e76c8b44bff8f398e9707182bff90f3ba775fb2fbff8f398e9%?707182bff8a57eaa2a0d96bff82e89eba6aca87ff7ffffffff%?ffffbff762456f75d9a1bff767136a400fbbbff77317efe0ce%?0cbff7aa5d6bebe165bff7cd35a858793ebff7b660e51d25ab%?bff7bb2fec56d5d0bff7f9aae6c8f755bff83826edaa92e6bf%?f7f3a8a3f8982dbff7cd35a858793ebff789eba6aca793bff7%?62456f75d9a17ff7ffffffffffffbff2950dae3e6c4cbff2ab%?e27179bfdfbff2c2b734b51373bff3193a2df9378fbff369bb%?f0dc768ebff3aa9e6eeb7026bff3e57eaa2a0d96bff3daae6c%?8f7553bff369bbf0dc768ebff32c743201040cbff2cb1feeb2%?d0a27ff7ffffffffffffbff0f080303c07eebff0fb506dd69d%?30bff157d5a9eb2075bff1a5f0f5a1016dbff1e6d373affb05%?bff2000eae18ac9fbff1a98bb4d48883bff151d4738a3b58bf%?f10e8a71de69ad7ff7ffffffffffffbff404bc27631b58bff4%?4806290eed03bff49620685553efbff4df6cacd184c2bff51d%?e7a743a648bff541f42bb66730bff56265f0f5a101bff581a3%?6e2eb1c4bff5ba1c25d07421bff5b1b36bd2b6f2bff56e696a%?26e547bff5385729b280f1bff50713f077ccc0bff4d702e664%?4d87bff4a6f2e8c0485abff47214f0520d13bff4399b2c40d0%?abbff3febaf102363bbff3d846e8f29d417ff7ffffffffffff%?bfec163fdd65a145bfed17635e74299ebfee1fbc5de9c023bf%?ef20dfdef8487cbff001626b2f2303bff05b8130164841bff0%?b46bacf74470bff11f5cf2495e18bff198b934699418bff20d%?deebb341e1bff2710129cbab65bff2bf1b69121251bff2f9fc%?b0c026ccbff31f3c70c996b7bff336113404ea4bbff35681ec%?d4aa11bff36fbe33acd5b7bff3206fac6045bbbff2bb80a9de%?8b3bbff2710129cbab65bff210e12e83a10dbff1c8c9320d99%?46bff1857f3061c79bbff138982cb20fb2bff0fdb7f1737543%?bff0c8d8ec95bff0bff087f66e86c658bff02909aed56b01bf%?ef83686a4ca4f4bfee90afe60c38f3bfeded45e9185ceebfed%?49dbec2480e9bfec7b2edfe75bc4bfebc22467be553b7ff7ff%?ffffffffffbff0e817763e4abebff1148cb4aec8d6bff12dc7%?ef177a70bff15f0c34c1a8acbff1904f6dfc5cddbff1148cb4%?aec8d67ff7ffffffffffffbfec0f0d5efe9318bfec90cf5b1c%?8649bfecec226809d495bfecf5be5d9e40c8bfed945b6c3760%?bfbfee84ab606b7aa2bfef702e6644d877bff00764adff822c%?bff0497b7414a4d3bff087f66e86c658bff0bcd573647babbf%?f0ece5710880d8bff0ea7ded6ba8c6bff0cb4070329803bff0%?6c53b0813cacbff015cfaacd9e84bfef8f6ad70e6f2fbfef0d%?a5daf07bfebfee7fdc5931ca7dbfeded45e9185ceebfed49db%?ec2480e9bfecbe78e1932d6fbfec4d855970b49ebfebefcdee%?34fc61bfebb61fe21d96eabfebe8986fcdee35bfebc22467be%?553b7ff7ffffffffffffbfed2a9d627bf61bbfed450ce4ead0%?c4bfede6106ab14ec2bfee9a4bdba0a527bfee9a4bdba0a527%?bfedbacd5b6805a3bfed2a9d627bf61b7ff7ffffffffffffbf%?ea90f0e90bc7b4bfeae50c5eb313bebfeb345ae5ffa3babfeb%?a54e6e221c8abfec48b86b15f890bfece4ece9a2c669bfed01%?c2e33eff19bfeccf4c6e6d9be5bfec3317efe0ce0cbfebc6f3%?6ef80560bfeb25efe9318762bfea8c21e1d2178f7ff7ffffff%?ffffffbfe6d47bedb72820bfe7bd96638433d7bfe8b51deefe%?4ffdbfe9aca36199780cbfea8285ec3dab5cbfeae50c5eb313%?bebfea440df1cb89d7bfe953b8e4b87bddbfe87dd872f33ca3%?bfe78b1feeb2d0a2bfe6c141e9af5ba3bfe6d47bedb728207f%?f7ffffffffffffbfe263c968943e10bfe35681ecd4aa11bfe3%?e91a75cd0bb7bfe4b7c5692b3cc5bfe5c01e68a0d34abfe6a2%?036006d0d5bfe7109070fbeb9ebfe72897635e742abfe72d66%?6a98244fbfe7697aeddce7cdbfe7d59f6ec5b079bfe857646a%?e3a3a9bfe8c5ef62f9ca5cbfe92d44dca8e2e3bfe97a2cecc8%?14d7bfe9c97b7414a4d3bfea2e685db76b3cbfea5c11e42e12%?62bfe99bd1ed9dfdacbfe8c122749f0e4ebfe7d59f6ec5b079%?bfe7155d5f56a7adbfe668576cce5f74bfe5c01e68a0d34abf%?e5e69270b06c44bfe59274e22a2c23bfe50244e93e1c9bbfe4%?5edaec4a4096bfe3cc426351def0bfe37826edaa92e6bfe324%?0b780346dcbfe2bf1c75818c5dbfe25efc7a398202bfe29d77%?74aba387bfe351b2e59af9ecbfe37357e670e2c1bfe2cb1ee2%?435697bfe21bb2788db0577ff7ffffffffffffbfe824ebdd33%?4c5ebfe921426fe718a8bfea07f66e86c658bfea71b25f633c%?e6bfeab02f72b45283bfeb12b5e529bae4bfeb62046c764ae0%?bfeb947ae147ae14bfeae03f705857b0bfea2265f0f5a101bf%?e95887ebf22c02bfe8c5ef62f9ca5cbfe87dd872f33ca3bfe8%?24ebdd334c5ebfe7d59f6ec5b079bfe818e9707182237ff7ff%?ffffffffffbfead1d25aab4741bfebac83ec892ab7bfec5989%?df1172efbfecbe78e1932d6fbfecf0f16f4384babfecada76d%?97b310bfebf969e3c96894bfeb5130df9bdc6abfeb31f46ed2%?45b3bfeb12b5e529bae4bfeab02f72b452837ff7ffffffffff%?ffbff17f7ced916873bff1e939eadd590cbff2542b302f72b4%?bff2b1e4b44a1f08bff32a0cae642bfabff375bf6a0dbad4bf%?f33fad2999567ebff2f52da98676a7bff2bb80a9de8b3bbff2%?843b2dd377e2bff21f4c2b51bd62bff1fda72a7bd48dbff19f%?eeb2d0a244bff17111f0c34c1bbff157d5a9eb20757ff7ffff%?ffffffffbfda2263d816acebbfdbce28ed5f138cbfdd1e9af5%?ba2be0bfdca1a0cf1800a8bfdae2a3cea6c1a0bfd9d57ff9b5%?63247ff7ffffffffffffbfd7ce67d77fae36bfd9153bd16766%?41bfda4da9003eea21bfdaff7dfa00e27ebfdcc347e8ccdd94%?bfde609dcf893fafbfdf7296f6512a95bfe050b0f27bb2ffbf%?e0ae6a76965f52bfe0d275ee99a62fbfe13c33f85510d4bfe1%?7aaef2c73259bfe1d86876e1deadbfe24959e6256367bfe298%?a86d71f362bfe1d3996fa82e88bfe162a5e785b5b7bfe0cb40%?70329803bfe02ca57a786c22bfdf2f4cf4a558eabfdd8d25ed%?d05293bfdc0ca1cef240fbbfda8754f3775b81bfd9153bd167%?6641bfd876a2f48c2e77bfd7f9acffa7eb6c7ff7ffffffffff%?ffbfe1f06f69446738bfe280a17b0f6ad7bfe36c226809d495%?bfe41b90ea9e6eebbfe4b2f661f18ca0bfe51cb46bacf744bf%?e4f1737542a23cbfe4493a71151612bfe3a5d074213a0cbfe2%?e0c176577532bfe25a2d72ffd1ddbfe1f53e707e175d7ff7ff%?ffffffffffbfd9454de7ea5f85bfdad438d1d8a548bfdbf969%?e3c96894bfdd5d13d74d594fbfdf08d8ec95bff0bfe04be1eb%?4202dabfe0b33764f11b61bfe14100e6afcce2bfe173797460%?242dbfe156a37ac3eb7dbfe1bb906466b1e6bfe0cb40703298%?03bfdf9dd7ecbb7f9dbfde43c7d5ed06ffbfdd5d13d74d594f%?bfdc7ffde7210be9bfdb8adeebb341e1bfdaa8f7db6e5040bf%?d9df19d66adb40bfd92d44dca8e2e3bfd86d04e618ce2dbfd9%?454de7ea5f857ff7ffffffffffffbfcf20e1f7d73c92bfd1b4%?5ae5ffa3babfd3902de00d1b71bfd523e9ea140571bfd6745b%?f26f1dc5bfd6f61ed5ae1cdebfd72630ec311623bfd71c92dd%?bdb5d9bfd72630ec311623bfd60f6ad70e6f2fbfd50be0ded2%?88cebfd416c1e364bec6bfd31cd5f99c38b0bfd21e18efbb0e%?5ebfd14f6dfc5cdd51bfd05a4f00ef1349bfce7d77fae3608d%?bfcd0691ea78af3e7ff7ffffffffffffbf893bc0a06e9ff1bf%?9b55ef1fddebd9bfa8eed02cd39da1bfb3f9e7b80d9de9bfb7%?ce63a5c1c609bfbce9b38d60a633bfc068b9fdbd2fa1bfc2c6%?4fdb09a672bfc4e09fe86833c6bfc6611fd5885d31bfc7d805%?e5f30e80bfc90203e63e8ddabfca78e9f6a93f29bfcc598e10%?cf5b1dbfcead8a116659d1bfd093faf42784a9bfd18de6ddf0%?0dbfbfd26b00ffda4053bfd34816f0068db9bfd4553ef6b5d4%?63bfd56733ebbfd71bbfd4b09203a322afbfd46d4801f75105%?bfd2cfede97d06bcbfd23621fafc8b00bfd16777079e59f3bf%?d00d66f0cfe154bfcca66dbd72bcb6bfc92873bc903ea7bfc8%?71d606317269bfc7c4c9c90c4decbfc5e42e12620254bfc31c%?d1c7de5083bfc068b9fdbd2fa1bfbb7c7820a30db7bfb5edbf%?8b9baa15bfb3735c182ecaefbfb3f9e7b80d9de9bfb1df97aa%?ac1095bfb04be40420f6f1bfaea3df6db940ffbfa7bb2fec56%?d5d0bfa493c89f40a287bfa3399f5dfeb8d8bf9687b139c94f%?6abf8807fed20296b3bf8038e29f9ce8d97ff7ffffffffffff%?bfd18de6ddf00dbfbfd2ecc3e3193f6cbfd493b7d84901d2bf%?d59c12f09d8c6dbfd5bdb5d894812cbfd3eb80ecfa69bebfd2%?6b00ffda4053bfd18de6ddf00dbf7ff7ffffffffffffbfd394%?ff0025bfadbfd4b09203a322afbfd57a6bd6e8af81bfd6f151%?e75360d0bfd7b662fdfc19c1bfd854fbdad7518bbfd8d1f601%?797cc4bfd96223e1869835bfda7db6e503fb37bfdbf969e3c9%?6894bfdd8d25edd05293bfdf38e6d15ad107bfe07e5a78f25a%?25bfe13c33f85510d4bfe162a5e785b5b7bfe0e81669ced0b3%?bfe05a4ce8101f32bfdf1743e963dc48bfdd102ff8ec0f88bf%?daf5dfeb8d8234bfd9153bd1676641bfd7f00ef1348b22bfd7%?349be8ff327bbfd695feda661284bfd68c64fdb09a67bfd567%?33ebbfd71bbfd4205ff1d81f10bfd394ff0025bfad7ff7ffff%?ffffffffbfe20ddeebb341e1bfe2555e6bc621b8bfe3073365%?881a15bfe3aa9d627bf61bbfe3e91a75cd0bb7bfe34ce5f740%?3ddebfe26fcdee34fc61bfe22c83ec892ab77ff7ffffffffff%?ffbfe0c67168f8e7debfe1951e75360d02bfe280a17b0f6ad7%?bfe351b2e59af9ecbfe2b317efe0ce0cbfe1d86876e1deadbf%?e0fdb6e503fb37bfe0c67168f8e7de7ff7ffffffffffffbfdb%?e631f8a0902ebfddaec8d5c74752bfdf5a8deb0fadf3bfdfef%?8ceb356da0bfe0557ff9b56324bfe0cb4070329803bfe0798b%?71b8aa00bfdfb10fd7e45804bfded3f9e7b80d9ebfddd06fef%?7c243ebfdd369fcf3dc055bfdc4febd09e12a57ff7ffffffff%?ffffbfd7349be8ff327bbfd8e060fe47991cbfd99235f80991%?79bfd9f255f3519bd4bfd8850df15a4acfbfd78183f91e646f%?bfd7349be8ff327b7ff7ffffffffffffbfdd0691ea78af3ebf%?ddd06fef7c243ebfdf7296f6512a95bfdfd783dff3f0febfe0%?27d6733ebbfdbfe087f66e86c658bfe0d4dc65c70436bfe11a%?8ef77f27febfe0dc11e42e1262bfe04be1eb4202dabfdf9dd7%?ecbb7f9dbfdeff3ade225fa6bfde6f08cc575c07bfdde878fa%?bda0e0bfdd79e9d0e991ffbfdccce5f7403ddebfdcab3edd8b%?60f27ff7ffffffffffffbfc3903211cb039fbfc5e42e126202%?54bfc88eabffcdab19bfcb8611fd5885d3bfce43cc07aaef2c%?bfd0e5aff2a172acbfd28ca3e7d13511bfd3eb80ecfa69bebf%?d5157eed45e918bfd600ffda4052d6bfd6f61ed5ae1cdebfd8%?3825e13b18dbbfd92d44dca8e2e3bfda18c9fb6134cebfdaec%?41dd1a21eabfdbb61fe21d96eabfdc67f4dbdf8f47bfdd1e9a%?f5ba2be0bfddfbb0e5e67946bfdd403dddb1209fbfdba7b4e5%?4f7a92bfdaec41dd1a21eabfd9ed84d338f798bfd8a1e3eaf6%?837fbfd7acc4ef88b978bfd63111f0c34c1bbfd49888f861a6%?0dbfd31337eb28d866bfd17f7be121ee67bfcfc44bf4cb1898%?bfcd0691ea78af3ebfca65add9c27e95bfc7d805e5f30e80bf%?c6611fd5885d31bfc5e42e12620254bfc3601ffb480d5bbfc2%?7967caea747ebfc3903211cb039f7ff7ffffffffffffbfd236%?21fafc8b00bfd43868fd199bb2bfd5bdb5d894812cbfd665f0%?f5a1016dbfd47bb2fec56d5dbfd2e7f6f4be835ebfd1a122fa%?d6cb537ff7ffffffffffffbfb88eabffcdab19bfbd102bc72e%?275bbfbe7d77fae3608dbfbacf7446f9b995bfb76e503fb374%?36bfb5c75818c5c9a3bfb76e503fb37436bfb76e503fb37436%?bfb6745bf26f1dc57ff7ffffffffffffbfb3266ba493c89fbf%?b69ad42c3c9eedbfb93bafd976ff3bbfb52d87f88765babfb1%?92b7fe08aefbbfb0858ff7596851bfb3266ba493c89f7ff7ff%?ffffffffff3fa192a737110e453f8b09203a322af5bf7ba2be%?0589acbdbf8506dd69d30271bf90389f83be6602bf993bc0a0%?6e9ff1bf9ea3df6db940ffbfa3399f5dfeb8d8bfa721709310%?129dbfa82e87d2c7b891bf993bc0a06e9ff1bf83397dd00f77%?6c3f6cd5f99c38b04b3f946d3f9e7b80aa3f9ba30121682f94%?3f9f8a8f3a9b06813fa192a737110e453fa252ef911cf3567f%?f7ffffffffffff3fc9b8aa00192a733fc7bb2fec56d5d03fc6%?3aafff36ac643fc53721d53cddd73fc46d4801f751053fc34c%?e3de6149c73fbf50f40e5a35d63fb70e2c12ad81ae3faea3df%?6db940ff3fa360285ec3dab63f90389f83be6602bf733a0407%?cc7d1cbf8b09203a322af5bf9687b139c94f6abf93868fd199%?bb28bf820642396073debf8038e29f9ce8d93f58090b417ca2%?123f93d35eb7457c0b3fa360285ec3dab63faf3dc054ef459e%?3fac163779e9d0ea3fb3ad080b673c4f3fbb42cc2d6a9c563f%?c115bdd76683c33fc463a5c1c6088d3fc597460242d05f3fc7%?bb2fec56d5d03fc9cbddb9841aac7ff7ffffffffffffbfbb7c%?7820a30db7bfc038a7e73a365dbfc3735c182ecaefbfc429f9%?ce8d972dbfc2f661f18c9fb6bfc1b927d45a5fc8bfc0256bca%?5375c9bfbd704ff43419e37ff7ffffffffffffbf9abc515486%?6a12bfa721709310129dbfb04be40420f6f1bfb1590c0dd03d%?9bbfb0f8e7ddca4b12bfa9d57ff9b56324bfa22c881e4712e4%?bf9687b139c94f6a7ff7ffffffffffff3fe36286727568623f%?e280a17b0f6ad73fe17d1569f490603fe0b59ff4fd6d7f3fdf%?a775fb2edfe73fdda05dd8f92afa3fdb9949e8815e393fd99b%?cfd4bf09963fd81682f944241c3fd6c610f0e90bc83fd59746%?0242d05f3fd47bb2fec56d5d3fd31804d98394753fd23fbbd7%?b2031d3fd16c43f5f916013fd0256ffc115df63fce308feac4%?2e993fcd36a400fba8823fcd96bfca85cab03fcbbfbdf090f7%?343fc7f4dbdf8f47303fc463a5c1c6088d3fc58409e55c0fcb%?3fc66ac215b9a5a93fc717c5ef62f9ca3fc88eabffcdab193f%?ca95bff04577d93fcded41b75a74c13fd080c308feac433fd0%?cda6e75ff60d3fd145cfede97d073fd30999dcb5781c3fd48a%?1dfb9389b53fd635dedf1e08293fd8201cd5f99c393fd9e3ea%?f6837f7c3fda9f5dfeb8d8233fdbbaecd07852f83fdcf826ed%?aa92e63fde957cd466f5023fe02f0bf1a5ca2a3fe110f0e90b%?c7b43fe1c9fd7a13c2553fe23fbdf090f7343fe2dbf26f1dc5%?0d3fe3902ff8ec0f887ff7ffffffffffff3fe4a48b65237048%?3fe405f06f6944673fe35681ecd4aa113fe2a97bfa4c61d83f%?e19c53f39d1b2e3fe0c8d9f90539fc3fe02f0bf1a5ca2a3fdf%?1743e963dc483fde007dd44135543fdcd1b2e59af9ec3fdba2%?e7f6f4be833fda8c21e1d2178f3fd98897e996312f3fd84b61%?fe21d96f3fd7095af294dd723fd5e8fb00bcbe623fd50be0de%?d288ce3fd4e56cd6c2efd43fd56733ebbfd71b3fd66abde3fb%?bd7b3fd7c99ae924f2283fd95885d31337eb3fdb3df6db940f%?ed3fdd2367e414e7ef3fdf25aee631f8a13fe0557ff9b56324%?3fe0fdb6e503fb373fe1904f6dfc5cdd3fe2060fe47991bc3f%?e2b57e670e2c133fe2f3fb7a5f41af3fe2d4bcf0b6b6e13fe2%?f8c868b9fdbd3fe33743632c1f433fe293d96638433d3fe261%?62f166e0093fe2e0c1765775323fe375c0767d34df3fe3e91a%?75cd0bb73fe47214f0520d133fe4b2f661f18ca07ff7ffffff%?ffffff3fd777e5eaab04253fd5edc7ef177a703fd54f2ae07e%?5a793fd49888f861a60d3fd36e8af81626b33fd26162f166e0%?093fd19784ec636b093fd16c43f5f916013fd1543aeab7995f%?3fd0cda6e75ff60d3fd1b92c061847f53fd287d6f97679033f%?d34ce3de6149c73fd4252ce032db1f3fd528b6d86ec17f3fd6%?ae07e5a78f263fd83825e13b18db3fd859ccfaeff5c73fd799%?88d2a1f8e43fd81682f944241c7ff7ffffffffffff3fd3e1e2%?de8709743fd32b40f66a55083fd257c4e2f37fbf3fd175e204%?6c764b3fd1543aeab7995f3fd110f0e90bc7b43fd16c43f5f9%?16013fd08f2e05ccc89b3fce8711d798d8a93fcc7ffde7210b%?e93fca0f2becedd4843fc7bb2fec56d5d03fc58409e55c0fcb%?3fc399cbee807bbb3fc13293d102bc733fbd49d7ba6698bb3f%?b76e503fb374363fb192b7fe08aefb3fa794c87980f55e3f97%?6e6106ab14ecbf433c1ce6c093d9bf83397dd00f776cbf8ba2%?be0589acbdbf95a1016ce789e7bf9befd00713f078bfa3399f%?5dfeb8d8bfa8eed02cd39da1bfa8eed02cd39da1bf9807fed2%?0296b3bf820642396073de3f7cd7060bb2bbaa3f95072085b1%?85493f9d234eb9a176de3fa145d851654d623f9ba30121682f%?943fa1df97aaac10953fa252ef911cf3563f95edd052934acb%?3f86d43d03968d763f8807fed20296b33f9687b139c94f6a3f%?a192a737110e453fac163779e9d0ea3fb4ba30121682f93fbb%?6933a0407cc83fc0c8d5c74751ce3fbbefd00713f0783fb7e1%?a8262456f73fbe56ffc115df653fc2e325d4a5df223fc69131%?ec0b56753fca95bff04577d93fcb5f99c38b04ab3fcb0917d6%?b65a9b3fcbe62dc6e2a8003fce43cc07aaef2c3fce007dd441%?35543fce73d5bab218163fcd96bfca85cab03fcccce5f7403d%?de3fcc297bfa4c61d83fcc0303c07ee0b13fccb00ffda4052d%?3fce43cc07aaef2c3fcfeabbcb1cc9643fd03d790752da983f%?d0dc11e42e12623fd18de6ddf00dbf3fd21e18efbb0e5e3fd3%?4ce3de6149c73fd3c03ff69014b67ff7ffffffffffff3fd679%?28e0c9d9d33fd4e56cd6c2efd43fd399cbee807bbb3fd287d6%?f97679033fd1df9bdc69f8c23fd31804d98394753fd4cd67fd%?3f5b603fd5d0f1f57b41c03fd69acffa7eb6bf3fd6b7a5f41a%?ef707ff7ffffffffffff3fd321a2e7f6f4bf3fd13764f11b60%?af3fd05f1bef49cf573fd145cfede97d073fd2f1950331e3a8%?3fd321a2e7f6f4bf7ff7ffffffffffff3fcf173fb7a5f41b3f%?cc9cd3e0bd449a3fcd102bc72e275b3fce8711d798d8a93fcf%?20e1f7d73c927ff7ffffffffffff3fc88eabffcdab193fc523%?ee1bd1ed9e3fc4ba30121682f93fc553f7ced916873fc79e59%?f2ba9d1f3fc92873bc903ea73fc88eabffcdab197ff7ffffff%?ffffff3fb219439de481f53fac6327ed84d3393fa63a9f383f%?0baf3f9d7060bb2bba993f8038e29f9ce8d9bf7ba2be0589ac%?bdbf9807fed20296b3bfa6612839042d8cbfaf8a8f3a9b0681%?bfaf8a8f3a9b0681bfb2c6583e8576cdbfb8080f98fa3769bf%?bcc34c1a8ac5c1bfbfeac42e9899bfbfc10c23fab10ba6bfc1%?cc63f141205cbfc1891e215336dfbfc222e5de15ca6dbfc1cc%?63f141205cbfc1891e215336dfbfc145cfede97d07bfc27967%?caea747ebfc1cc63f141205cbfc2a979e16d6dc2bfc0ef4e01%?14d2f6bfbf8aa00192a737bfbe0d2014727dccbfbc0303c07e%?e0b1bfb5edbf8b9baa15bfafd77fae3608d1bfa82e87d2c7b8%?91bf9f8a8f3a9b0681bf9253111f0c34c2bf733a0407cc7d1c%?bf60d173fb7a5f423f8807fed20296b33f9c3c9eecbfb15b3f%?a5072085b185493fab2f87ad080b673faf3dc054ef459e3fb1%?6c3fc43b2dd33fb27967caea747e3fb2c6583e8576cd3fb3ad%?080b673c4f3fb10c1b97353b4b3fb27967caea747e7ff7ffff%?ffffffffbfd15dd8f92af9a9bfd25c96030c23fbbfd3a369fc%?f3dc05bfd57a6bd6e8af81bfd777e5eaab0425bfd8fd36f7e3%?d1ccbfd9f255f3519bd4bfdaf5dfeb8d8234bfdc5e56cd6c2e%?fdbfde054ef459d990bfdf9439de481f54bfe087f66e86c658%?bfe16eaa6d267408bfe277036c9c0d8dbfe3675579af1887bf%?e4205ff1d81f10bfe4e56eefa1e3ebbfe5a5aee631f8a1bfe6%?4de7ea5f84cbbfe72161e4f765febfe7d59f6ec5b079bfe75d%?76683c297cbfe6de17e34b9453bfe652b6f19934f0bfe64de7%?ea5f84cbbfe7048beb5b2d4dbfe7af2b66b6177fbfe83a8e71%?476af9bfe9093964a59c06bfe9bd76ee73e682bfea7db6e503%?fb37bfeb7a0b5ed8d36bbfec54bcf0b6b6e1bfed0b5ed8d36b%?4cbfed8856e696a26ebfedd7a56de3326abfee13b7d84901d2%?bfee957eed45e918bfef49ba5e353f7dbfefc449dbec2481bf%?f031737542a23cbff02909aed56b01bff07f8db4890929bff0%?bcd573647babbff0de7a743a6480bff0f54e2b063e08bff144%?9cb252ce03bff187e6b3fe9faebff1cffeb074a772bff1ef3c%?2dadb835bff21ce5b4245f5bbff24e28ed5f138cbff28a3d70%?a3d70dbff2d2556d19decebff31337eb28d866bff33fad2999%?567ebff33adf2ecf2064bff3060029f16b12bff2cc532a497f%?a6bff28a3d70a3d70dbff240f12c27a637bff2ae48e8a71de7%?bff2ef2c7325918abff32671ef30a4e3bff35681ecd4aa11bf%?f3a234a87e38ebbff40f8d716d2aa6bff3f1832fcac8e7bff4%?26612839042ebff4399b2c40d0abbff458d8a979e16dbff4dd%?052934acb0bff54df8b1572581bff5b7b5aea3161abff61ca4%?b124d09abff67327aa68f4b6bff6a337a80cf9e4bff68192a7%?37110ebff6337867f0aa22bff5ce8a71de69adbff581a36e2e%?b1c4bff53723ee1bd1eebff4df6cacd184c2bff4a48c7192ea%?53bff4aa8da7f3cf70bff4c02f2f987400bff4e7d566cf41f2%?bff5385729b280f1bff56131a8ef77f2bff59878316a0557bf%?f5f295e9e1b08abff60e38a7e73a36bff5cfbdad7518b1bff5%?900e6afcce1cbff5dbc126a65cf6bff63e48a58b3f64bff663%?886594af4fbff6ba0c6b484d77bff6eeeb702602c9bff724fd%?b09a671fbff753d96638433dbff779192641b329bff7b9fba4%?50acc1bff811b2e59af9ecbff7eb3fe9fadafdbff83224aada%?33bebff842f72b452828bff85897a67a52acbff888a7a41e57%?dabff8a1e3eaf6837fbff848f96e158751bff82887a8d64d7f%?bff7de0828c36da8bff77317efe0ce0cbff70826aa8eb463bf%?f6ae07e5a78f26bff683fa2ad3e921bff66abef06b3786bff6%?40b029281776bff68d972cd7cf5fbff6f7542a23bff9bff75f%?ddebd9018ebff7c1322f2734f8bff81db76b3bb83dbff882a6%?6dbd72bdbff8d45b6c3760bfbff9200e27e0ef9abff90cd423%?d9231cbff9441aac53b081bff966f2e8c0485abff96bc0e38a%?7e74bff98295a6c5d207bff99100a393ee5fbff9e51d25aab4%?74bff9efed634549b6bff9fabead4f5904bff9bd75e2046c76%?bff96358298cc144bff9200e27e0ef9abff8df2ba9d1f601bf%?f8bb1f255f351abff900d0aaa7ded7bff91da6a4441787bff8%?cbf1a5ca2984bff888a7a41e57dabff81db76b3bb83dbff7c9%?9ae924f228bff826202539756dbff877d523b3636fbff8bd86%?a8fc0d2cbff8d1f3e89a88adbff9140daeafab54bff8ed96a6%?a0125abff88ea9e6eeb702bff817b5286b5914bff8154da4ce%?8102bff80815e39713adbff84dc768dfbd6abff8a6b1e5c0b9%?99bff91a0be5109071bff95aee631f8a09bff960f0a5efe932%?bff9bfdd65a14489bff9fd25247cb70bbffa3ba12b5e529cbf%?fa8fbca1059ea5bffad0a02b841249bffafaade657b84ebffb%?62046c764ae0bffba2e6ea854478bffb89aaa3ad18d2bffba8%?e820e62995bffbe02ea960b6fabffc2be1650d45d4bffc6cc3%?e3193f6cbffc61f3a57eaa2abffc2979e16d6dc2bffbddc725%?c3dee8bffb72d5e071c53fbffb0b8066c2acb8bffaab606b7a%?a25ebffa5274e22a2c23bff9df1ae2da554cbff966f2e8c048%?5abff9a1d323fee2cabffa058eeae9ee46bffa7681669ced0b%?bffaddd7ecbb7f9dbffb5131ec0b5675bffba2e6ea854478bf%?fc0dd72367e415bffc82656abde3fcbffcc0e065300581bffc%?f5bf6a0dbad4bffd1d65a14488c6bffd14fce746cb96bffcc9%?491f2dc2b1bffcab3fe9fadafdbffc946b26bf876abffc5121%?2513b5bfbffc344b2b777d0fbffbf969e3c96894bffc01d3aa%?369fcfbffbeafee6fb4c3cbffba8e820e62995bffb405f6ba0%?620bbffad0a02b841249bffa7419e30014f9bffa8fbca1059e%?a5bffaf4aba3875925bffb6a6d26740810bffbb01eabbcb1cd%?bffbf10129cbab65bffc27136a400fbbbffc4784230fcf81bf%?fc779420b3d4aebffc4d8665e02ea9bffbfd04a2fcefaabffb%?e3c968943e10bffba8e820e62995bffb358e219652bdbffab3%?c925785f8dbffa359ee88df373bff9ec52a411c2a0bff9c244%?e93e1c9bbff96358298cc144bff93a7daa4fca43bff8e52dec%?a2552abff891116a8b8f15bff821522a6f3f53bff7c7336588%?1a15bff81db76b3bb83dbff8803eea209aaabff8df2ba9d1f6%?01bff923a8e71476b0bff966f2e8c0485abff9d31769a91106%?bffa0929aa1d755cbffa406f262888b5bffac23422467be5bf%?fb37f5a5332ad0bffbadb7281fd9babffbf367a0f9096cbffb%?8c122749f0e5bffb2bf22c01e68abffab9cb6848beb6bffa9a%?8deb0fadf3bffb0de7ea5f84cbbffb8face67d77fbbffbe9cb%?ab649d39bffc645b291b823dbffc7192ea52ef91bffc7ffde7%?210be9bffc61f3a57eaa2abffc959e6256366dbffcb00de4c5%?1117bffcd54da4ce8102bffd19cae21101b0bffd36a1e81cb4%?6cbffd55df6555c52ebffd5aad601ffb48bffd3f0da21a719b%?bffd49dadfb506ddbffd1fcd24e160d9bffd008fa7a85016bf%?fcdc8323358f2ebffcdc8323358f2ebffcb877ab324852bffc%?6f2b66b6177fbffc0d3c64345cffbffbc0f12c27a637bffba8%?e820e62995bffb53986338b47cbffb057e23f24d90bffab763%?e4abe6a3bffa6a7ded6ba8c6bffa2264e48626f6bff9df1ae2%?da554cbff99bd1ed9dfdacbff95d55e6bc621bbff91a0be510%?9071bff8d1f3e89a88adbff87ca42aed1394bff81db76b3bb8%?3dbff7c99ae924f228bff7757e670e2c13bff72c332f01754b%?bff6c27525460da6bff668576cce5f74bff62fdda8bd230cbf%?f5e69270b06c44bff57204295a6c5dbff4fd76ee73e682bff4%?99bb2788db05bff428c8abd5dc40bff3bb70ef566491bff34e%?1932d6ece1bff2e0c069e7fb26bff26d666a98244fbff221b3%?aeee9574bff1bcc4ac6cdaf5bff175dfeb8d8234bff1a5f0f5%?a1016dbff1dc0229a5ebb7bff1e6d373affb05bff221b3aeee%?9574bff246f36ef80560bff25a2d72ffd1ddbff27837b4a233%?9cbff2a2456f75d9a1bff2de59f2ba9d1fbff2c7852f7f498c%?bff27837b4a2339cbff24e28ed5f138cbff2241b328b6d87bf%?f1e6d373affb05bff1c2c6ef3d3a1dbff1a5f0f5a1016dbff1%?b6c2699c7bccbff15dd7ecbb7f9dbff133ca31e7d999bff0f0%?80303c07eebff0a3992c8c5005bff0a132b55ef1febff09c63%?ae2541d9bff07723ee1bd1eebff073892ee84ad8bff0bcd573%?647babbff108882f0e0d85bff11f5cf2495e18bff142352eb5%?f5f1bff1797aaac1094abff187e6b3fe9faebff187e6b3fe9f%?aebff1904f6dfc5cddbff162a6f3f52fc2bff11f5cf2495e18%?bff0d142b302f72bbff069ec2ce46499bfefdc52e72da123bf%?eedffe6d58c8efbfedd7a56de3326abfece01de2691644bfeb%?e8986fcdee35bfeafd1569f49060bfea6a7ce0fc2ebabfe9da%?4ce8101f32bfea65aff2a172acbfe9c97b7414a4d3bfe953b8%?e4b87bddbfe8f867f0aa21a7bfe818e970718223bfe74306e5%?cd4ed3bfe6ae07e5a78f26bfe5da8deb0fadf3bfe4e56eefa1%?e3ebbfe436006d0d4995bfe37357e670e2c1bfe2a4acf312b1%?b3bfe1dd35653c9abbbfe238887229e908bfe31806f262888b%?bfe3bb70ef566491bfe48a1be2b4959ebfe4d96a6a01259abf%?e504ab606b7aa2bfe578055fbb517abfe5d82773e24fecbfe5%?df5cf2495e18bfe58da7f3cf7015bfe52d87f88765babfe4c8%?98f605ab3bbfe49620685553efbfe4807fed20296bbfe43d35%?eb7457c1bfe37f5c6c11a112bfe29172ef0de536bfe1b1f46e%?d245b3bfe11359791819d2bfe04be1eb4202dabfdeca5bd944%?aa54bfdd369fcf3dc055bfdb3df6db940fedbfd9454de7ea5f%?85bfd79e59f2ba9d1fbfd64de7ea5f84cbbfd4d234eb9a176e%?bfd32b40f66a5508bfd192b7fe08aefbbfd05a4f00ef1349bf%?ceca600b029281bfcc933a0407cc7dbfca059210385c68bfc8%?2e87d2c7b891bfc90203e63e8ddabfc7b1960fa15db3bfc537%?21d53cddd7bfc446cfc829cfddbfc4c3c9eecbfb16bfc5c758%?18c5c9a3bfc4c3c9eecbfb16bfc222e5de15ca6dbfbdd07421%?3a0c6bbfb9c24c404a72ebbfba225fa658c4bdbfbbb62413db%?7f17bfbe0d2014727dccbfbfb1183b60285fbfc00895d0b73d%?19bfbfeac42e9899bfbfc0a265f0f5a101bfc07bf61aa3f035%?bfc1590c0dd03d9bbfc26634117f8445bfc3903211cb039fbf%?c3c03bc4d22c88bfc51a4bdba0a527bfc5c75818c5c9a3bfc6%?9acbc8c0ce92bfc73e35c5b4aa97bfc80817fc7607c4bfc8e5%?2deca2552abfc9cbddb9841aacbfc9f255f3519bd4bfca78e9%?f6a93f29bfcb8611fd5885d3bfccd67fd3f5b5fabfcde3a7da%?a4fca4bfcefa69be09bb6bbfcfc44bf4cb1898bfcf3415b142%?2ccbbfcdbd3804534bd7bfce73d5bab21816bfcedd93c46d82%?babfce26f60e0eb67cbfcd8d25edd05293bfcd2367e414e7ef%?bfcd5d13d74d594fbfcf7763e4abe6a3bfd093faf42784a9bf%?cefa69be09bb6bbfccc343b70ef566bfc96bc1eff9f87fbfc8%?2e87d2c7b891bfc6310dbf0563edbfc54a5df2239e6bbfc51a%?4bdba0a527bfc3c03bc4d22c88bfc3c03bc4d22c88bfc34ce3%?de6149c7bfc26634117f8445bfc23fbbd7b2031dbfc446cfc8%?29cfddbfc31cd1c7de5083bfc4807bbb62413ebfc46d4801f7%?5105bfc416c61522a6f4bfc4c3c9eecbfb16bfc446cfc829cf%?ddbfc4f3dc054ef45abfc6b7a1c25d0742bfc871d606317269%?bfc9f255f3519bd4bfcbdc93ea2d2fe4bfcc0ca600b02928bf%?cb0917d6b65a9bbfca8c26138fffbdbfcaec41dd1a21eabfcc%?0ca600b02928bfccd67fd3f5b5fabfcdf6e3f78bbd38bfcf20%?e1f7d73c92bfcf3415b1422ccbbfcd79e9d0e991ffbfccd67f%?d3f5b5fabfce26f60e0eb67cbfce43cc07aaef2cbfcf9439de%?481f54bfcffdf7e80389f8bfd07253da72a7bdbfd0c8d9f905%?39fcbfd10285ec3dab5cbfd0ea7ce0fc2eba7ff7ffffffffff%?ffbfbc9cd3e0bd449abfbd102bc72e275bbfc1b927d45a5fc8%?bfc0bf3bea91d9b27ff7ffffffffffffbfc1b927d45a5fc8bf%?c2d98bf7f06706bfc54a5df2239e6bbfc794c016052503bfc8%?d1f1cfbb9496bfc82e87d2c7b891bfc57a7008a697afbfc20f%?a9c12f09d97ff7ffffffffffff3febefcdee34fc613feb19eb%?6390c9103fea9a8cdea033e83fea18c7e28240b83fe95aee63%?1f8a093fe8850df15a4acf3fe7eda6612839043fe7aa5c5f7c%?675a3fe79e59f2ba9d1f3fe76be1650d45d43fe71efb6dca07%?f63fe6cface67d77fb3fe75fdcdf6987833fe83a8e71476af9%?3fe92d44dca8e2e33fe9b8a7e73a365d3fea681669ced0b33f%?eab295e9e1b08a3feae2a5e785b5b73fead1d25aab47413fea%?b295e9e1b08a3feac100e6afcce23feaf3775b8130163feb81%?40dd3fe1973fec2979e16d6dc27ff7ffffffffffff3fec5723%?67e414e83febbd556084a5163feb53996fa82e883feb646ae3%?a3a8e73fec163fdd65a1453fec1d755bccaf713fec572367e4%?14e87ff7ffffffffffff3fec4b1ee24356973feb8fabda0dfd%?f03feb4794ea0770373febe3c968943e103fec572367e414e8%?7ff7ffffffffffff3ff09ecb31c219eb3ff026a22b3892ef3f%?efa03e63e8dda53fef0409e55c0fcb3fee8711d798d8a93fee%?1aef6f8f04143fedbd35eb7457c13fed47735c182ecb3fecc5%?ae5ffa3b9b3fec9f3c70c996b73feccce3de6149c73fed7eb8%?d82342243fee07b56b8737973fee8244e93e1c9b3fef36805a%?2d73003fefd2b4d8ba40d93ff02ca46e08f2173ff0618372e6%?a7693ff09795b35b0bbf3ff0b8066c2acb863ff0d275ee99a6%?2f7ff7ffffffffffff3ffe79db22d0e5603ffe1285a921ccd9%?3ffdcf3ba775fb2f3ffd8856e696a26e3ffdbe69270b06c43f%?fe101e2584f4c73ffe7d75e2046c763ffe79db22d0e5607ff7%?ffffffffffff40017378ee28672740014e392e1ef73c40011f%?5cf2495e184000f119ce075f704000bba1b1960fa1400089c3%?ce2089e34000527e5215768a40001101b003686a3fffc316a0%?55757d3fff5959a30984e43ffeeacd9e83e4263ffead85dfa8%?71a43ffe6dd7a99fa11b3ffe308ede54b48d3ffdefac6045ba%?f53ffdc203e63e8dda3ffda19220ff54093ffdbc01a36e2eb2%?3ffe068123810e883ffe77739f340d4e3ffee4cc6822ff093f%?ff3b4f616723253fff9908e581cf783fffe72324c836654000%?179d909f1f154000514a90470d8140007e59f2ba9d1f4000ab%?68cef672b94000e3486f049a99400115bff04577d940012692%?70b06c44400136312f4cf4a5400144028e4fb97c400165a78f%?25a25140017aaef2c732597ff7ffffffffffff40020de00d1b%?71764001fb402d16b9804001e5058dde7a744001c3fab10ba6%?2640019c536d655e29400178476f2a5a47400157d63022dd7b%?4001419b90ea9e6f400136312f4cf4a5400144028e4fb97c40%?017378ee28672740018317acc4ef8940018b80ecfa69be4001%?bc2b0ea183734001d7342edbb59e4001ee08f2170931400206%?aa8eb4634940020de00d1b71767ff7ffffffffffffbff05318%?76188b11bfefa2a4db163bacbfee9a4bdba0a527bfed8d25ed%?d05293bfec873365881a15bfeb9bb05faebc41bfeae03f7058%?57b0bfea54dc65c70436bfe9b641700cd856bfe9093964a59c%?06bfe83a8e71476af9bfe78181e03f7058bfe6bc72e275ab7e%?bfe5f9cc74b838c1bfe55ffe6d58c8efbfe4c898f605ab3bbf%?e4493a71151612bfe3cc426351def0bfe340e1719f7f8dbfe2%?cfede97d06bcbfe2555e6bc621b8bfe1e46ae3a3a8e7bfe19c%?53f39d1b2ebfe16eaa6d267408bfe10285ec3dab5cbfe18919%?ef954eb1bfe27bd273d5bab2bfe3601de2691644bfe4279570%?3f2d3cbfe4cfce746cb967bfe49aef6f8f0414bfe4205ff1d8%?1f10bfe32da76d97b310bfe25a2d72ffd1ddbfe2fd976ff3ad%?e2bfe2ae48e8a71de7bfe2fffde7210be9bfe27bd273d5bab2%?bfe1c794ea077037bfe109bb6aa4b988bfe0a4cc6822ff09bf%?e0dc11e42e1262bfe126916440f239bfe18919ef954eb1bfe2%?16e371540032bfe2f8c868b9fdbdbfe3af6c69b5a640bfe3e9%?1a75cd0bb7bfe463a9f383f0bbbfe5566277c45cbcbfe6250d%?6b228dcabfe6d47bedb72820bfe78b1feeb2d0a2bfe84b5fe5%?42e558bfe9093964a59c06bfe9b17268d32831bfea7db6e503%?fb37bfeb58665e02ea96bfec37e4de3b8a1abfed39085f4a12%?73bfee308feac42e99bfef28155d5f56a8bfefeabde3fbbd7b%?bff05de8b3b32053bff06ebb341e14bebff015cfaacd9e84bf%?f01d0635a426bbbff05de8b3b32053bff0c672756861e9bff1%?148cb4aec8d6bff16c42e9899bf6bff1cffeb074a772bff22d%?b8348f53c5bff28a3d70a3d70dbff2dbf26f1dc50dbff32671%?ef30a4e3bff363b9ae0c1765bff399cbee807bbbbff3daae6c%?8f7553bff4132830a0b1bcbff4506fef7c243ebff496206855%?53efbff4c3c9eecbfb16bff50713f077ccc0bff52b1f687b13%?9dbff57204295a6c5dbff59610adcd2d45bff5d95aaf78feef%?bff61a3d2d87f887bff653ea2d2fe3f3bff689fc6da44849bf%?f6c4dca8e2e2b9bff705bf26f1dc51bff7456e696a26e5bff7%?6aae297396d1bff77317efe0ce0cbff7972367e414e8bff7c7%?3365881a15bff7b3fa6defc7a4bff76f7c243dcceabff71b60%?ae9680e0bff6a806af46aa08bff659ec7000431cbff5fd6627%?7c45ccbff5a5aee631f8a1bff54df8b1572581bff4dd052934%?acb0bff469ab29e4d5d8bff40dbe6a337a81bff3c9dbec2480%?e9bff3916228134480bff358e970718223bff31ba1b1960fa1%?bff2ae48e8a71de7bff275d031055b8abff24e28ed5f138cbf%?f2241b328b6d87bff1e939eadd590cbff1a5f0f5a1016dbff1%?496aad1d041dbff0cb4070329803bff07255f3519bd47ff7ff%?ffffffffffc00811b36bd2b6f2c007e3704790b84ac007e8d8%?ec95bff07ff7ffffffffffffc007d337eb28d866c007a1f42b%?b66730c007b9fc2a8869c67ff7ffffffffffffc007a327674d%?1633c0079dbf487fcb92c007744b2b777d0fc0076679cc74b8%?39c007908787485e3e7ff7ffffffffffffc00677f62b6ae7d5%?c0066e5929670197c0065b1fab96f21fc00650e90bc7b45f7f%?f7ffffffffffffc006a6d2ed783dffc0068ffe2a3cea6cc006%?7e920c069e807ff7ffffffffffffc006745b6c3760bfc0064c%?1a8ac5c140c0066b5807fed203c006715a4acf312bc0068661%?2839042e7ff7ffffffffffffc00635464dc22ab2c0061dd7ec%?bb7f9d7ff7ffffffffffffc00659ebe9c88616c0063d1569f4%?9060c00640168b5cbff4c006551d68c692f77ff7ffffffffff%?ffc006186fcdee34fcc00605cfede97d07c005e1c36976bc1f%?c005a5af6c69b5a6c005a77ccc037931c0058370cdc8754fc0%?05729e4d5d80e5c005759f6ec5b079c005716a8b8f14dbc005%?67cd898b2e9dc005840d6b93ccd1c0059a450dcc0bddc005ba%?1cac083127c005a347e8ccdd94c005d5bf6a0dbad4c005e8f9%?6e158751c006019b0db2e169c00614d48882f0e17ff7ffffff%?ffffffc0057ba12b5e529cc0057337eb28d866c005957689ca%?18bdc005900e6afcce1c7ff7ffffffffffffc0057f3bea91d9%?b2c0056e696a26e5477ff7ffffffffffffc00626412cf0f9d3%?c0061139c94f69cbc0064317acc4ef89c006521ccd962068c0%?0626412cf0f9d37ff7ffffffffffffc0063e492bc2fc69c006%?3c7bcc2938dec00652b66b6177eac0063e492bc2fc697ff7ff%?ffffffffffc0061139c94f69cbc005f8982cb20fb2c005d48c%?2e770bd0c005bbea0ba1f4b2c005a5af6c69b5a6c005b681ec%?d4aa11c005a8b08dd1e53bc005ccbc8c0ce91dc005e2f72b45%?2828c005ef94c87980f5c0060b380cb6c7a8c00614d48882f0%?e17ff7ffffffffffffc005cb88ca3e7d13c005d826edaa92e6%?c005bbea0ba1f4b2c005bab649d388a9c005b4b48d3ae6867f%?f7ffffffffffffc005d826edaa92e6c005ce89eba6aca8c005%?e4c48adeebb3c005e8f96e1587517ff7ffffffffffffc0041c%?c4ac6cdaf5c0041d5e4a383276c003fd872f33ca327ff7ffff%?ffffffffc003e919ef954eb1c003bfa54c554328c003d1ab8e%?8ea39cc003f9524bfd2e947ff7ffffffffffffc00446d2ed78%?3dffc00437cdcca70d207ff7ffffffffffffc003fced0b30b5%?aac003dee34fc610f17ff7ffffffffffffc003f0e90bc7b45f%?c004205f6ba0620bc003f784ec636b097ff7ffffffffffffc0%?035bea0ba1f4b2c0033a459103c8e2c003146bacf74470c003%?43e20ccff21b7ff7ffffffffffffc0037bc1acde19fcc0035e%?518f3eccc4c00331dc50ce4eadc002ff64cf8d716dc002fa96%?4e8b7e4ec0030c026cc1ca3ac003206fac6045bbc00334dceb%?fec13cc0034a7ded6ba8c6c00370574b4070337ff7ffffffff%?ffffc002e45baf533f42c002abe27179bfdfc00299dc2f405f%?6cc002b7e670e2c12bc002d2556d19decec002eb912dba4d6e%?c00301cbccf28c7ac002fecaab8a5ce6c002fd976ff3ade2c0%?03223d0bfa0946c00349e44fa05144c0035bea0ba1f4b2c003%?3b78cc9a77e6c003223d0bfa0946c00333a9b0681238c00318%?a0902de00d7ff7ffffffffffffc0023cbccf28c79fc0022bea%?4ebdd335c0020877ee4e26d4c002151611ba3ca7c0021fe64f%?54d1e9c0023d566cf41f21c0026162f166e009c0028fa58f71%?21abc002c04fb1183b60c002cd86ec17ebafc002c3504c48ad%?efc0028b70ac3a860ec00264fdb09a671fc0023cbccf28c79f%?7ff7ffffffffffffc0032370cdc8754fc002fd976ff3ade2c0%?0309014b599aa6c00334dcebfec13c7ff7ffffffffffffc003%?5d1dcd7060bbc0032e410b630d91c0031b078d92fb1ac00337%?446f9b994ec0036620ab7132727ff7ffffffffffffc003c9db%?ec2480e9c00394fd6d7e889cc0038d2dcb1465e9c003c03f70%?5857b0c003fd872f33ca32c004282f0e0d84bec0043c02afdd%?a8bdc0041a5daf07bfe8c003ecb4aec8d5c77ff7ffffffffff%?ffc003ef1bac2df0d4c003b6a26e547171c003ba3d2d87f887%?c003f3508f648c72c0041e920c069e80c00454a44c7b02d6c0%?042f648c7192eac003ef1bac2df0d47ff7ffffffffffffc004%?53708aac96ccc00438676a7264a17ff7ffffffffffffc00467%?442c7fbacbc00443382e44b6e97ff7ffffffffffffc0044e08%?6bdf4c2bc00451a32b12d3417ff7ffffffffffffc00473482b%?e8bc17c0047bb16c1e364c7ff7ffffffffffffc004871bcdbb%?e015c00461426fe718a87ff7ffffffffffffc006698aa8650e%?78c00649b38d60a633c006698aa8650e787ff7ffffffffffff%?c007787f88765ba7c007520c8cd63cb8c00732ce89656ef0c0%?06faeee957470fc006bedaec4a4096c0067cc4ac6cdaf5c006%?728e0c9d9d34c00694330d73860dc006999b2c40d0abc00677%?5c8d9f9054c00643b14a90470bc00617d5a9eb2075c005d9f4%?4d445671c005ae18ac9f2fdcc005bbea0ba1f4b2c005de28aa%?433509c00605cfede97d07c00626412cf0f9d3c006551d68c6%?92f7c0068ffe2a3cea6cc006c7ddca4b124dc006f7edc7ef17%?7ac00724638c975297c0075b0f6ad70e6fc00794bc6a7ef9db%?c007cf0307f23cc9c007f9aae6c8f755c0082285ec3dab5cc0%?084a2ca9ac3654c0087c0d06e9ff0dc0085630a91537a0c008%?318a86d71f36c00808b0079a2835c007dc3ac929aa1dc007be%?caab8a5ce6c007a4f4c6e6d9be7ff7ffffffffffffc0077618%?8b11409ac0073bd1676640a7c00720c8cd63cb81c0072c32a8%?c9b845c007641248d7e026c0078eba27ae9ab3c007b0f94c87%?980fc007e53da72a7bd5c0080b178b370047c008107faa044a%?e8c007e40d6b93ccd1c007b794a6eb91b4c00776188b11409a%?7ff7ffffffffffffc0075fddebd9018ec0074a3cea6c1a05c0%?07731769a911067ff7ffffffffffffc003bca42aed1394c003%?9ccd0fe8ab50c0037d8f0c77dd87c00364ed6fda836fc00389%?930be0ded3c003c6dacabc5155c003f483cafb3b75c00425c7%?8a6dacacc00423fa2ad3e921c003ef1bac2df0d4c003c8a8b0%?8dd1e57ff7ffffffffffffbffcb743632c1f43bffc813122b7%?baedbffc525460aa64c3bffc946b26bf876abffcee88df3732%?9cbffd129563a9f3847ff7ffffffffffffbffcc815e39713ad%?bffc7b2edfe75bc4bffc598aeb80ecfabffca670e2c12ad8bf%?fce6202539756d7ff7ffffffffffffbffab3c925785f8dbffa%?707f23cc8de3bffa4eda22f6a50dbffa7c83a96d4c34bffa58%?7724fa8b4cbffa66e221c8a7a4bffa2d352220bc38bffa2ace%?aaf35e31bffa93586ca89fc7bffa3e07a28bb0a3bff9d1e42e%?126202bff9742aa9f7b5afbff923a8e71476b0bff94eeae9ee%?45c3bff99a9da597d49dbff9a3076c050bd8bff966f2e8c048%?5abff9059ea57214f0bff92ade657b84dcbff9648b65237048%?bff9aca46e08f217bff9863065f9591dbff9a908a265f0f6bf%?f9fd25247cb70bbffa66e221c8a7a4bffabc32ebe596c87ff7%?ffffffffffffbffb1b1fab96f21fbffaf71327243138bffb2b%?f22c01e68a7ff7ffffffffffffbffac96aad1d041dbffaa2f6%?a50d6b237ff7ffffffffffffbff8e6612839042ebff88b0f27%?bb2fecbff8743a647fdc59bff836f2a5a469d7bff7e671ef30%?a4e3bff7e53da72a7bd5bff82e89eba6aca8bff883d9a95421%?c0bff8e05ee568a505bff8e6612839042e7ff7ffffffffffff%?bff7e53da72a7bd5bff78b1feeb2d0a2bff7a327ed84d339bf%?f80347e8ccdd94bff85c3265add9c2bff82fbd273d5bab7ff7%?ffffffffffffbff6f01eabbcb1cdbff6da7e308787487ff7ff%?ffffffffffbff8348c2e770bd0bff7d6d2aa5c5f7cbff7cd35%?a858793e7ff7ffffffffffffbff5c3b927d45a60bff58b4070%?329803bff53bf1e8e60807bff4f641700cd856bff5251e321a%?2e7fbff523e9ea140571bff4ce9a2c669058bff47e18698351%?59bff446d2ed783dffbff42d97b30f8c65bff46275ab7dc7ac%?bff431327243137bbff46e7a311e85fdbff4b7c5692b3cc5bf%?f4f17268d32831bff54929aa1d755cbff5b54e2b063e08bff5%?52c6ac215b9abff5157eed45e918bff56265f0f5a101bff5c2%?85ec3dab5cbff622a5e785b5b7bff66abef06b3786bff65784%?ec636b09bff60e38a7e73a36bff5e69270b06c447ff7ffffff%?ffffffbff594dc65c70436bff56600b0292817bff5d6f32bdc%?26ddbff6457f3061c79bbff62d7625204af9bff5c753e707e1%?767ff7ffffffffffffbff670c026cc1ca4bff62774eebf65dc%?bff67929ed3953dfbff6e8e92d55a3a1bff6bc73eee525897f%?f7ffffffffffffbff63e48a58b3f64bff5df5be5d9e40dbff6%?1dd7ecbb7f9dbff68d972cd7cf5fbff6ffbdf090f734bff76f%?7c243dcceabff76111276fb092bff6e41a261bf37cbff67327%?aa68f4b67ff7ffffffffffffbffa8d5629d8409ebffa3e07a2%?8bb0a3bffa72e6a76965f5bffa8887229e9079bffaf5dfeb8d%?8234bffb6939eadd590cbffb3b906466b1e6bffaeea960b6f9%?fdbffad56e264e48627ff7ffffffffffffbff9cbe1eb4202da%?bff98fcd67fd3f5bbff99234eb9a176ebffa00bfe3b03e21bf%?fa7419e30014f9bffae2a5e785b5b7bffb5acde19fc2a9bffb%?b01eabbcb1cdbffb8c122749f0e5bffb31f36262cba7bffacf%?6be37de93abffa5adea897635ebffa681669ced0b3bffa12c6%?ac215b9a7ff7ffffffffffffbff86367e414e7efbff7ffad29%?99567ebff7af2b66b6177fbff7e53da72a7bd5bff7c2656abd%?e3fcbff82e89eba6aca8bff894ac29bf162bbff8cabe6a337a%?81bff8fc01a36e2eb2bff883d9a95421c07ff7ffffffffffff%?bff5bb506dd69d30bff576d330941c827ff7ffffffffffffbf%?f336113404ea4bbff2fecaab8a5ce6bff331422ccb3a26bff3%?8a2ca9ac3654bff3d245b291b824bff3dd15f02c4d66bff3a7%?03afb7e910bff3b6a1e81cb46cbff351b3f20d73f77ff7ffff%?ffffffffbff516b228dc981cbff4befae7924af1bff45edaec%?4a4096bff3fd86a8fc0d2cbff397646ae3a3a9bff3206fac60%?45bbbff2cb1feeb2d0a2bff26162f166e009bff20ddeebb341%?e1bff24225742dcf46bff29172ef0de536bff304ccee5abc0e%?bff382f72b452828bff3fd86a8fc0d2cbff46d45e9185ceebf%?f4b7c5692b3cc5bff4edd7a99fa11bbff53d2630ec3116bff5%?a6e32e3821afbff5c285ec3dab5cbff5b681669ced0bbff56a%?ceaaf35e317ff7ffffffffffffbff3748c2e770bd0bff328d9%?72cd7cf6bff36fbe33acd5b7bff3e1e3eaf6837fbff43d35eb%?7457c1bff41f2ba9d1f601bff3bdd872f33ca37ff7ffffffff%?ffffbff3df7c6759ab6dbff3916228134480bff375bf6a0dba%?d47ff7ffffffffffffbff340e1719f7f8dbff2f52da98676a7%?bff2d5f02c4d65e4bff3206fac6045bbbff388f96e158751bf%?f3f51deefe4ffdbff3a1016ce789e77ff7ffffffffffffbff2%?710129cbab65bff21816aceaaf36bff20c1333b96af0bff26a%?fff36ac647bff2710129cbab657ff7ffffffffffffbff257c5%?ef62f9cabff1fa0c6b484d77bff1e46bf01322f2bff178476f%?2a5a47bff15dd7ecbb7f9dbff113586ca89fc7bff156a26e54%?7171bff1b6c2699c7bccbff1f1a3b14a9047bff234edb2f661%?f2bff257c5ef62f9ca7ff7ffffffffffffbff32da76d97b310%?bff3206fac6045bbbff2c8b86b15f890bff2d388a8b08dd2bf%?f34816f0068db97ff7ffffffffffffc003855eaee2003bc003%?79f44d445671c00373f290abb44ec0036a558ea7ce10c0038c%?942d490e67c003ae392e1ef73cc0039e004b7f5a537ff7ffff%?ffffffff40166121ab4b72c54016487fcb923a2a40162a7589%?efd86b401637ad4b2745bf4016551dabe2717a7ff7ffffffff%?ffff4015cfbd6a593a2e4015ba1cac0831274015a94a2b9d3c%?bc401596f71a7e308840159de00d1b71764015b1669ced0b31%?4015c3b96af038e37ff7ffffffffffff401371d81f10668040%?13631fcd24e161401361059ea5721540134c985f06f6944013%?3cac8e68e3ef40134f4c6e6d9be540135f850df15a4b401375%?bfad2999567ff7ffffffffffff4012f4944ed6fda84012e10d%?bf0563ed4012cb6cbd987c634012d1bbcf4e874d4012d4230f%?cf80dc4012e7f66e86c6587ff7ffffffffffff4012a9c7ffde%?721140129b0fadf2ecf240128307af20ea5b40127101b00368%?6a40127d9f4d37c1374012920ccff21b3b4012a8476f2a5a47%?7ff7ffffffffffff4012319f7f8ca81a40121e65bea0ba1f40%?120ddf2ecf20644011faf35e310dbf4011fcc0bdcad14a4012%?04906034f3fe40121562e09fe86840122c842fa509397ff7ff%?ffffffffff401272352eb5f5f1401261afc04c8bca401249f4%?906034f4401232d2fe3f35a040121a311e85fd0540121b17ce%?52deca40122d1e108c3f3e40123e8a2ec28b2a40124224edf6%?1240401263c9eecbfb16401272352eb5f5f17ff7ffffffffff%?ff4017821c8a7a41e5401773fe1975f2cb40175e5d5b24e9c4%?401746a22b3892ef4017306748e4756040173d523b3636f440%?175774aba3875940177497fa5d28d07ff7ffffffffffff4017%?0358298cc1444016e84f09528f194016c9ab29e4d5d84016cc%?5f394b7b294016e7685985ad544017018ac9f2fdb97ff7ffff%?ffffffffc007cf9d2bf55150c007a026cc1ca3a5c007757e67%?0e2c13c007413a0c6b484dc00740064a9cdc44c007276427c7%?c526c007078d0cc35ce2c006d47bedb72820c006b671ac14c6%?61c0069c0229a5ebb7c00682c669057d18c00679c38b04ab60%?c0066087ca643cc0c00635464dc22ab2c0062473cd573648c0%?0636798958d9b6c0064c1a8ac5c140c006788fc9363f57c006%?9c9c4da9003fc006ae086bdf4c2bc006c00e27e0ef9ac006cd%?45e9185ceec006e54de7ea5f85c0070d8ec95bff04c0071dc7%?abfb9bedc0074ad688377186c0078eba27ae9ab3c007b6616b%?54e2b0c007d46b26bf876ac008077ccc037931c007e06fac60%?45bb7ff7ffffffffffffc007a45b291b823dc00774e4c942d4%?91c0073e38eb0318b9c006ff23cc8de2acc006c7442c7fbacb%?c006882f0e0d84bec006625529fe004bc00622a66dbd72bdc0%?05e7c5ac471b48c005cd5629d8409ec005bbea0ba1f4b2c005%?d9f44d445671c0060b380cb6c7a8c0064919695d91acc00681%?932d6ece14c006b23cc8de2ac3c006d5af294dd723c006f453%?08bb9064c006e07fed20296bc006bbd9cae21102c006a80629%?0eed03c006e54de7ea5f85c0071efae7924af1c00759dba908%?a266c007848387df5cf2c007a75c4a83b1d1c007d59ee88df3%?73c007f9aae6c8f755c007c99ae924f2287ff7ffffffffffff%?c0005f1bef49cf57c0002d3e920c069ec0000e008e9b38d6bf%?ffe72324c83665bfffd8b827fa1a0dbfffc44ae85b9e8cbfff%?e2541d8e8640bfffe3886594af4fbfffa8a71de69ad4bfffc6%?b15f88fc93bfff62f6a50d6b23bfff74fc610f0e91bfffa773%?e24febd1bfff9dd6e04c0592bfff8100e6afcce2bfff44ec63%?6b0963bffeed352220bc38bffe97e56473471fbffeab1f687b%?139dbffed794a6eb91b4bfff0c729f59ccfbbfff1742dcf462%?3dbffee732df505d10bffeafed634549b6bffead85dfa871a4%?bffe9de7a743a648bffe97e56473471fbfff187724fa8b4cbf%?ff8a9de8b3b320bfffd8b827fa1a0dbfffd3e920c069e8bfff%?f928e0c9d9d3c0001536933a0408c00041abd1aa821fc00056%?b2af145522c0004aaeafab53d6c0006ced4e4c942dc0007ef3%?9085f4a1c0007f8d2e514c23c00060e94ee392e2c00084f5d3%?5653cac0008cc4ef88b978c0005de8b3b320537ff7ffffffff%?ffffc0026764adff822cc00240578e5c4eb5c0020610f0e90b%?c8c001f672324c8366c0020ddf71eafee7c0020c12ad81adeb%?c00224b4d056c509c0024ec311622813c0026a65cf67b1c0c0%?0267fe4bcad9ae7ff7ffffffffffffc0016c436fc158fbc001%?5b70ef566491c00130c9107faa04c001269270b06c44c0012b%?fa8f7db6e5c0014ed352220bc4c0016ba9d1f601797ff7ffff%?ffffffffc001cd972cd7cf5fc001ad25edd05293c001814a4d%?2b2bfec001586fcdee34fcc0012ac6cdaf4adcc00116598e10%?cf5bc0013affb04ee7c5c00130c9107faa04c00159a38fbca1%?06c0017d15f02c4d66c00199ec7000431cc001bc2b0ea18373%?c001cecaeea63b697ff7ffffffffffffc002ad15ad106ee3c0%?02a97aeddce7cdc0028006d0d4994ac00269320d9945b7c002%?51c3ac929aa2c0022c83ec892ab7c001f672324c8366c001f1%?098d477bc0c001ff75104d551dc001ee08f2170931c001d867%?f0aa21a7c0019ebaf102363bc001b28e0c9d9d34c001bf2c30%?09b307c0018c1b10fd7e46c0017b48909289dbc001b6295208%?e150c001a4230fcf80dcc0017ee34fc610f1c001aef34d6a16%?1ec001d7342edbb59ec001d99b2c40d0abc001e5058dde7a74%?c001f53e707e175dc001df9d6f112fd3c001c5c810a569b1c0%?01e6394face67dc00201426fe718a8c0021348b220791cc002%?3e8a2ec28b2ac002358750c1b973c00258f9b13165d4c00281%?d4306e5cd5c0029a75cd0bb6edc0029d76ee73e682c0027368%?ad688377c002482730c67169c0022e514c22ee42c0024224ed%?f61240c0026162f166e009c00286a2b1704ff4c002a3793144%?45aa7ff7ffffffffffffbffc7ffde7210be9bffc55ef1fddeb%?d9bffc1640e9d51b50bffbc0f12c27a637bffb60d0247021d1%?bffb057e23f24d90bffac100e6afcce2bffa78e8ea39c51ebf%?fa1794a6eb91b4bff9b17268d32831bff95887ebf22c02bff9%?00d0aaa7ded7bff8c388ebcc6c55bff8c121682f9442bff8d3%?27243137b0bff8cd25edd05293bff8eecaeea63b69bff924dc%?22ab25b3bff9093964a59c06bff91b402d16b980bff948e8a7%?1de69bbff94c8366516db1bff90f3ba775fb2fbff8bc536d65%?5e29bff86836eb4e9814bff7eda76d97b310bff79857afea3d%?f7bff764abe6a337a8bff73e38eb0318b9bff73a9e2bcf91a3%?bff70e28ed5f138cbff6999aa60913a5bff6805f6ba0620bbf%?f6ce79aae6c8f7bff7108f648c7193bff7276427c7c526bff6%?fd566cf41f21bff6b7a4e7ab7564bff67929ed3953dfbff6a6%?d2674080fabff69c0229a5ebb7bff652b5e529bae4bff61dd7%?ecbb7f9dbff5fe9a6f826edbbff5c285ec3dab5cbff5ce8a71%?de69adbff5e2f7b17ce52ebff5b8e8ea39c51ebff59878316a%?0557bff55794a6eb91b4bff5699b6f5caf2dbff5699b6f5caf%?2dbff5505f28848388bff53abead4f5904bff4d8372e6a7696%?bff4aa8da7f3cf70bff4b2f76e6106abbff4c295a6c5d207bf%?f4e56eefa1e3ebbff51919ac79702ebff53723ee1bd1eebff5%?63992c8c5005bff56e696a26e547bff5699b6f5caf2dbff570%?d0edc3bd5abff5c285ec3dab5cbff61307af20ea5bbff6504f%?6dfc5cddbff6b53e707e175dbff6fd566cf41f21bff722962c%?fd8f0cbff73836a832b991bff7503ea704bc27bff78ebaade6%?57b8bff7f7446f9b994ebff84691ea78af3ebff879096bb98c%?7ebff8803eea209aaabff827546d3f9e7cbff80815e39713ad%?bff853c9abb01c93bff84b5fe542e558bff82aef2c732592bf%?f81681ecd4aa11bff800e065300581bff7c1322f2734f8bff7%?550dae3e6c4cbff6f01eabbcb1cdbff7310129cbab65bff77f%?1b69121251bff7dcd4ed2cbea5bff80ce4ead0c3d2bff8649c%?2c1b10fdbff8c5ef62f9ca5cbff93213e3e29308bff9983621%?fafc8bbff9b9db22d0e560bff9d1e42e126202bffa28672756%?861fbffa406f262888b5bffa96f32bdc26ddbffacd056c508b%?33bffb3327aa68f4b6bffb8877681669cfbffbe02ea960b6fa%?bffc3f1b691212517ff7ffffffffffffbfe0d275ee99a62fbf%?e1d86876e1deadbfe2ea5d6bebe165bfe3f51ce28ed5f1bfe4%?fd75e2046c76bfe5f296f6512a95bfe6b53d640e9d52bfe792%?556d19decebfe85c33721d53cebfe9153dea465a57bfe9046a%?5d6bebe1bfe829bae46cfc83bfe72d666a98244fbfe63aade6%?57b84ebfe53254e6e221c9bfe42c647778dd61bfe31f3c70c9%?96b7bfe238887229e908bfe14d056c508b33bfe09fff79c842%?fabfe0d4dc65c70436bfe10285ec3dab5cbfe0a99b6f5caf2d%?bfe093faf42784a97ff7ffffffffffffbfd1a122fad6cb53bf%?d2c64fdb09a672bfd3ad03d9a95422bfd3dd15f02c4d66bfd3%?f04ddb5525ccbfd4553ef6b5d463bfd2fb2edfe75bc4bfd1f7%?a4e7ab7564bfd1a122fad6cb53bfd1e46cfc829cfebfd1a122%?fad6cb537ff7ffffffffffffbfcd5d13d74d594fbfcf20e1f7%?d73c92bfd16777079e59f3bfd1a122fad6cb53bfd0d744f5d3%?5654bfce9a4df47f993dbfcd5d13d74d594f7ff7ffffffffff%?ffc00ee2fe82517e78c00ebc8b0079a283c00e88e043a21640%?c00e58d045fe1112c00e355de58e64b2c00e4d65e4606749c0%?0e7ea9a3d2d880c00e91e321a2e7f7c00eaeb9a176ddadc00e%?dbc903ea704cc00ef805e5f30e80c00efea1405708257ff7ff%?ffffffffff4013d2452c59fb1e4013b6555c52e72e40139a18%?bd66277c401385f84cad57bc401380435efa615b401388ac9f%?2fdb904013a49c6f36ef804013a14e7ee9142b40139764adff%?822c4013997edc7ef1784013ad056c508b334013c2f33ca31e%?7e4013aaeb3dd11be74013a067cf1c32664013a8d0cc35ce18%?401394b09e98dcdb401391fc8f32378b401382aa5c5f7c6740%?1383443d46b26c401371d81f10668040135681ecd4aa114013%?48fd5cb790fb401336f75d9a0f0d40131dbb9cf9a06a401303%?e63e8dda494012f6ae7d566cf4401310841ede11994013270b%?8cfbfc6540133d466f5019f440132972cd7cf5f540131dbb9c%?f9a06a40130bb59ddc1e794012fb7cfe5860134012f6ae7d56%?6cf44012dc3f3e0370ce4012bf68be2f7b184012b0b0af5fd4%?7c401292599ed7c6fc4012998f1d3ed5284012aa619da9c993%?4012bf68be2f7b184012aa619da9c99340128f0bae89eba740%?12749c6f36ef8040125eae9ee45c36401265e41d4b6a624012%?5477ff151e754012400dbf76a2f540125210be9424e6401264%?63cfb3311a401273b5bf6a0dbb401259e01de2691640123f70%?de8f6cf040121e65bea0ba1f4012095e9e1b089a401224b4d0%?56c509401242becedd484540125c947064ecea4012796af038%?e2a0401294c0df58c08b40128ad70e6f2e8c40129126202539%?754012ac7c0f4517614012b919ef954eb14012a1f85d744f5d%?401288bcdfefbf4040127536501e2585401259e01de2691640%?1242becedd4845401242becedd4845401240f16f4384ba4012%?2166e008e9b440121562e09fe86840120610adcd2d454011fc%?271fff79c84011f53e707e175d4011e5529fe004b84011d399%?6fa82e884011cf64cf8d716d4011e16aceaaf35e4011ed6ece%?13f4aa4011faf35e310dbf4011ed6ece13f4aa4011e7b9e060%?fe484011f70bd017dae8401208c5004fb11840121b17ce52de%?ca40122b039ef0f16f4012271bcdbbe0154012259b8023a6ce%?40122d1e108c3f3e4012301eeed8904f4012284f8f8a4c1f40%?120c5fbf83382e4011ff27fe4bcada4011fb8d3f1843c44011%?fb8d3f1843c440120d454de7ea6040121816f0068db9401234%?06c00da1a940124b74ddf86e3b40125477ff151e7540127101%?b003686a4012654a7f8012e040125d2e0e30446b401262495e%?17e34c40127c6bce8533b140127883fd502257401263c9eecb%?fb16401265e41d4b6a6240128307af20ea5b401292599ed7c6%?fc4012a4acaff6d3314012b9b38d60a6334012aafb7e90ff97%?4012b14a4d2b2bfe4012c9ec7000431c4012d0d51f81a58740%?12dea67e846a5d4012e7f66e86c6584012f7485e3da2f94013%?0d362e90364440130566cf41f21340130780fdc1615f40131b%?078d92fb1a4013318f3eccc469401342fb5d03105640135681%?ecd4aa1140137271bcdbbe0140138bad7d7c2ca14013a79d4d%?8340924013bb23dd54da4d4013d713ad5bee3d4013f2699c7b%?cc294013febaade657b84013ffa15db3397e4013f3ea2d2fe3%?f34013e919ac79702e4013e3b18dac258d4013eb341e14bdfd%?4013e44b6e935b924013d2452c59fb1e7ff7ffffffffffffc0%?02aee30caa326ec00295a74c09c3cec0027101b003686ac002%?53910c2c5e2dc002301f31f46ed2c00207de5082cf53c001dd%?d00f776c48c0019ced916872b0c0015ca4b124d09ac0011d8f%?92af9a8dc000f38151a43782c000bea2d2fe3f36c000892a30%?553261c0005f1bef49cf57c00029a3d2d87f88c000179d909f%?1f15c0000d66f0cfe154c00007fed20296b3bfffc44ae85b9e%?8cbfff4e89656eefa2bffee398201cd5fabffea3e8dda48b65%?bffe41615ebfa8f8bffe2223e1869835bffdd8d8a979e16dbf%?fd79ebe9c88616bffd1fcd24e160d9bffccf4b61fe21d9bffc%?da1b9f98b71cbffc9203a322af57bffc82656abde3fcbffccb%?b0a2ca9ac3bffcf357e670e2c1bffcf5bf6a0dbad4bffcd680%?e0653006bffcc9491f2dc2b1bffcb877ab324852bffc860029%?f16b12bffc5388a8b08dd2bffc27136a400fbbbffc645b291b%?823dbffc6f2b66b6177fbffc07d4e09784ecbffc0dd72367e4%?15bffc7ffde7210be9bffc7192ea52ef91bffc27136a400fbb%?bffbc48beb5b2d4dbffb8c122749f0e5bffb3b906466b1e6bf%?fabe996312f4cfbffa681669ced0b3bffa8151a437824dbffa%?a08f21709310bffaddd7ecbb7f9dbffb4c62e4d1a650bffba5%?4d61b2a27fbffc07d4e09784ecbffbfd04a2fcefaabffba8e8%?20e62995bffb48c8259e1f3abffb800da1a93294bffbb01eab%?bcb1cdbffb5131ec0b5675bffb405f6ba0620bbffb92146a1a%?500dbffbe630ec311623bffc2111276fb092bffc4784230fcf%?81bffc752da98676a7bffc8ace24bba12bbffc2be1650d45d4%?bffc1b0ee49f5169bffbf969e3c96894bffbb9baa1511e00bf%?fbc959e6256367bffc103ea704bc27bffc779420b3d4aebffc%?c0e065300581bffd008fa7a85016bffd2367e414e7efbffd0c%?9320d9945bbffcf95a294141eabffd309fa54c5543bffd4fdd%?22856606bffd47746887a8d6bffd73e9a6f826eebffda9fbe7%?6c8b44bffdf5aea3161a1ebffe0b4f1e4b44a2bffdc806290e%?ed03bffdded9dfdac68bbffe19bb2788db05bffe5702e6644d%?87bffe55ce9e5e2479bffe19bb2788db05bffd97f51efb6dca%?bffd4d759ee88df3bffd19cae21101b0bffcc5ae5ffa3b9b7f%?f7ffffffffffffc002a8e15011904bc0027a048e043a21c002%?57c5ef62f9cac00239220ff54089c002177d0f1f57b4c001e9%?3a71151612c001ae59af9ebe9dc00189b38d60a633c0015e72%?10be9425c0012bfa8f7db6e5c000fab6d00b45aec000c370cd%?c8754fc000a99b6f5caf2dc0007723ee1bd1eec00042df9378%?ee28c0002f0bf1a5ca2abfffe856605ee569bfff8f6be37de9%?3abfff31b25f633ce6bffed2c59fb1e18fbffea04e1e71044f%?bffe463065f9591dbffde4dc22ab25b3bffd6919695d91acbf%?fd417225b749aebffd19cae21101b0bffcc347e8ccdd94bffc%?5e58e64b2314bffc3a4c61d8622cbffc99392189bd84bffcd6%?80e0653006bffcc347e8ccdd94bffceaee2003ab86bffd296a%?26e54717bffcff5b5fa22707bffd296a26e54717bffd43d9a9%?5421c0bffd66b1e5c0b999bffd73e9a6f826eebffdc203e63e%?8ddabffe19bb2788db05bffe463065f9591dbffe7fdd65a144%?89bffef46aa087ca64bfff07a4a48f96e1bffed794a6eb91b4%?bfff0b3f63c31df7bfff702e6644d877bfffb5dedf1e0829c0%?0007fed20296b3c00009cc319c5a3ec0002dd82fd75e20c000%?65b7cfe58601c000a7ce0fc2eba2c000e3486f049a99c00113%?f290abb44ec001513a4f8726d0c00177add15f02c5c0018cb4%?aec8d5c7c0019ced916872b0c001c9fc6da44849c001bf2c30%?09b307c001f1098d477bc0c0021e18efbb0e5ec0024e28ed5f%?138cc00284d551d68c69c002c2b6ae7d566dc002f05faebc40%?8ec00325d7cb2d905cc003541aef6f8f04c0035db76b3bb83d%?c0038dc7ef177a70c003a2cecc814d72c003c473cd573648c0%?03fd872f33ca32c003e618ce2d1f1dc003ce10cf5b1c86c003%?fd872f33ca32c00410270f3882287ff7ffffffffffffc0040b%?f22c01e68ac003e74c8ffb8b26c003bad6cb535009c003ae39%?2e1ef73cc003993250b5243ac00375bff04577d9c00355e84f%?09528fc0033877ab324852c00318066c2acb86c002e7f66e86%?c658c002aaaeafab53d6c00265974e65bea1c00226822ff088%?94c001f70bd017dae8c001c3608d08919fc001a2ef4e0114d3%?c0016e10cf5b1c86c001359791819d24c001001eeed8904fc0%?00c671ef30a4e3c000875cd0bb6ed6c00062b6ae7d566dc000%?41abd1aa821fc0000dfff36ac647bfffd51c5c5718ecc0001d%?05af6c69b6c0002ca46e08f217c00033da72a7bd49c0004412%?cf0f9d2cc0007c8c9320d994c0009f64cf8d716dc000b76cce%?5f7404c000d7de0d66f0d0c0010df04ddb5526c001479d4d83%?4092c0016e10cf5b1c86c0017a14cec41dd2c00193508f648c%?72c00163da2f8bdec6c00128f96e158751c0010d558ea7ce10%?c000d3a9b0681238c000a1322f2734f8c0008e924f227d03c0%?00621d10b1feebc0002dd82fd75e20c0000162f166e009bfff%?b5dedf1e0829bfff44ec636b0963bffefa6ce358298dbffed6%?605ee568a5bffed2c59fb1e18fbffeb3882278d0ccbffef0cf%?e154434ebfff56f21f6cacd2bfffaea960b6f9fdbfffa2a5e7%?85b5b7bfff4887229e9079bffeed352220bc38bffe8244e93e%?1c9bbffe2223e1869835bffdc203e63e8ddabffd6b7fe08aef%?b3bffd1fcd24e160d9fclose(fout);disp(' ## Installing: "amazon_bathy.mat" (binary)')fout = fopen('amazon_bathy.mat', 'w');%?4d41544c414220352e30204d41542d66696c652c20506c6174%?666f726d3a20414c5048412c2043726561746564206f6e3a20%?4d6f6e204d61722020322031323a30383a3139203139393820%?20202020202020202020202020202020202020202020202020%?20202020202020202020202020202020202020202020202000%?01494d0e000000682501000600000008000000060000000000%?00000500000008000000a62400000100000001000000060000%?00786261746879000009000000302501000000000000004ac0%?f6285c8fc2f549c00dd7a3703dea49c00000000000e049c0f6%?285c8fc2d549c00dd7a3703dca49c00000000000c049c0f628%?5c8fc2b549c00dd7a3703daa49c00000000000a049c0f6285c%?8fc29549c00dd7a3703d8a49c000000000008049c0f6285c8f%?c27549c00dd7a3703d6a49c000000000006049c0f6285c8fc2%?5549c00dd7a3703d4a49c000000000004049c0f6285c8fc235%?49c00dd7a3703d2a49c000000000002049c0f6285c8fc21549%?c00dd7a3703d0d49c000000000000049c0f6285c8fc2f548c0%?0dd7a3703dea48c00000000000e048c0f6285c8fc2d548c00d%?d7a3703dca48c00000000000c048c0f6285c8fc2b548c00dd7%?a3703daa48c00000000000a048c0f6285c8fc29548c00dd7a3%?703d8a48c000000000008048c0f6285c8fc27548c00dd7a370%?3d6a48c000000000006048c0f6285c8fc25548c00dd7a3703d%?4a48c000000000004048c0f6285c8fc23548c00dd7a3703d2a%?48c000000000002048c0f6285c8fc21548c00dd7a3703d0d48%?c000000000000048c0f6285c8fc2f547c00dd7a3703dea47c0%?0000000000e047c0f6285c8fc2d547c00dd7a3703dca47c000%?00000000c047c0f6285c8fc2b547c00dd7a3703daa47c00000%?000000a047c0f6285c8fc29547c00dd7a3703d8a47c0000000%?00008047c0f6285c8fc27547c00dd7a3703d6a47c000000000%?006047c0f6285c8fc25547c00dd7a3703d4a47c00000000000%?4047c0f6285c8fc23547c00dd7a3703d2a47c0000000000020%?47c0f6285c8fc21547c00dd7a3703d0d47c000000000000047%?c0f6285c8fc2f546c00dd7a3703dea46c00000000000e046c0%?f6285c8fc2d546c00dd7a3703dca46c00000000000c046c0f6%?285c8fc2b546c00dd7a3703daa46c00000000000a046c0f628%?5c8fc29546c00dd7a3703d8a46c000000000008046c0f6285c%?8fc27546c00dd7a3703d6a46c000000000006046c0f6285c8f%?c25546c00dd7a3703d4a46c000000000004046c0f6285c8fc2%?3546c00dd7a3703d2a46c000000000002046c0f6285c8fc215%?46c00dd7a3703d0d46c000000000000046c0f6285c8fc2f545%?c00dd7a3703dea45c00000000000e045c0f6285c8fc2d545c0%?0dd7a3703dca45c00000000000c045c0f6285c8fc2b545c00d%?d7a3703daa45c00000000000a045c0f6285c8fc29545c00dd7%?a3703d8a45c000000000008045c00000000000004ac0f6285c%?8fc2f549c00dd7a3703dea49c00000000000e049c0f6285c8f%?c2d549c00dd7a3703dca49c00000000000c049c0f6285c8fc2%?b549c00dd7a3703daa49c00000000000a049c0f6285c8fc295%?49c00dd7a3703d8a49c000000000008049c0f6285c8fc27549%?c00dd7a3703d6a49c000000000006049c0f6285c8fc25549c0%?0dd7a3703d4a49c000000000004049c0f6285c8fc23549c00d%?d7a3703d2a49c000000000002049c0f6285c8fc21549c00dd7%?a3703d0d49c000000000000049c0f6285c8fc2f548c00dd7a3%?703dea48c00000000000e048c0f6285c8fc2d548c00dd7a370%?3dca48c00000000000c048c0f6285c8fc2b548c00dd7a3703d%?aa48c00000000000a048c0f6285c8fc29548c00dd7a3703d8a%?48c000000000008048c0f6285c8fc27548c00dd7a3703d6a48%?c000000000006048c0f6285c8fc25548c00dd7a3703d4a48c0%?00000000004048c0f6285c8fc23548c00dd7a3703d2a48c000%?000000002048c0f6285c8fc21548c00dd7a3703d0d48c00000%?0000000048c0f6285c8fc2f547c00dd7a3703dea47c0000000%?0000e047c0f6285c8fc2d547c00dd7a3703dca47c000000000%?00c047c0f6285c8fc2b547c00dd7a3703daa47c00000000000%?a047c0f6285c8fc29547c00dd7a3703d8a47c0000000000080%?47c0f6285c8fc27547c00dd7a3703d6a47c000000000006047%?c0f6285c8fc25547c00dd7a3703d4a47c000000000004047c0%?f6285c8fc23547c00dd7a3703d2a47c000000000002047c0f6%?285c8fc21547c00dd7a3703d0d47c000000000000047c0f628%?5c8fc2f546c00dd7a3703dea46c00000000000e046c0f6285c%?8fc2d546c00dd7a3703dca46c00000000000c046c0f6285c8f%?c2b546c00dd7a3703daa46c00000000000a046c0f6285c8fc2%?9546c00dd7a3703d8a46c000000000008046c0f6285c8fc275%?46c00dd7a3703d6a46c000000000006046c0f6285c8fc25546%?c00dd7a3703d4a46c000000000004046c0f6285c8fc23546c0%?0dd7a3703d2a46c000000000002046c0f6285c8fc21546c00d%?d7a3703d0d46c000000000000046c0f6285c8fc2f545c00dd7%?a3703dea45c00000000000e045c0f6285c8fc2d545c00dd7a3%?703dca45c00000000000c045c0f6285c8fc2b545c00dd7a370%?3daa45c00000000000a045c0f6285c8fc29545c00dd7a3703d%?8a45c000000000008045c00000000000004ac0f6285c8fc2f5%?49c00dd7a3703dea49c00000000000e049c0f6285c8fc2d549%?c00dd7a3703dca49c00000000000c049c0f6285c8fc2b549c0%?0dd7a3703daa49c00000000000a049c0f6285c8fc29549c00d%?d7a3703d8a49c000000000008049c0f6285c8fc27549c00dd7%?a3703d6a49c000000000006049c0f6285c8fc25549c00dd7a3%?703d4a49c000000000004049c0f6285c8fc23549c00dd7a370%?3d2a49c000000000002049c0f6285c8fc21549c00dd7a3703d%?0d49c000000000000049c0f6285c8fc2f548c00dd7a3703dea%?48c00000000000e048c0f6285c8fc2d548c00dd7a3703dca48%?c00000000000c048c0f6285c8fc2b548c00dd7a3703daa48c0%?0000000000a048c0f6285c8fc29548c00dd7a3703d8a48c000%?000000008048c0f6285c8fc27548c00dd7a3703d6a48c00000%?0000006048c0f6285c8fc25548c00dd7a3703d4a48c0000000%?00004048c0f6285c8fc23548c00dd7a3703d2a48c000000000%?002048c0f6285c8fc21548c00dd7a3703d0d48c00000000000%?0048c0f6285c8fc2f547c00dd7a3703dea47c00000000000e0%?47c0f6285c8fc2d547c00dd7a3703dca47c00000000000c047%?c0f6285c8fc2b547c00dd7a3703daa47c00000000000a047c0%?f6285c8fc29547c00dd7a3703d8a47c000000000008047c0f6%?285c8fc27547c00dd7a3703d6a47c000000000006047c0f628%?5c8fc25547c00dd7a3703d4a47c000000000004047c0f6285c%?8fc23547c00dd7a3703d2a47c000000000002047c0f6285c8f%?c21547c00dd7a3703d0d47c000000000000047c0f6285c8fc2%?f546c00dd7a3703dea46c00000000000e046c0f6285c8fc2d5%?46c00dd7a3703dca46c00000000000c046c0f6285c8fc2b546%?c00dd7a3703daa46c00000000000a046c0f6285c8fc29546c0%?0dd7a3703d8a46c000000000008046c0f6285c8fc27546c00d%?d7a3703d6a46c000000000006046c0f6285c8fc25546c00dd7%?a3703d4a46c000000000004046c0f6285c8fc23546c00dd7a3%?703d2a46c000000000002046c0f6285c8fc21546c00dd7a370%?3d0d46c000000000000046c0f6285c8fc2f545c00dd7a3703d%?ea45c00000000000e045c0f6285c8fc2d545c00dd7a3703dca%?45c00000000000c045c0f6285c8fc2b545c00dd7a3703daa45%?c00000000000a045c0f6285c8fc29545c00dd7a3703d8a45c0%?00000000008045c00000000000004ac0f6285c8fc2f549c00d%?d7a3703dea49c00000000000e049c0f6285c8fc2d549c00dd7%?a3703dca49c00000000000c049c0f6285c8fc2b549c00dd7a3%?703daa49c00000000000a049c0f6285c8fc29549c00dd7a370%?3d8a49c000000000008049c0f6285c8fc27549c00dd7a3703d%?6a49c000000000006049c0f6285c8fc25549c00dd7a3703d4a%?49c000000000004049c0f6285c8fc23549c00dd7a3703d2a49%?c000000000002049c0f6285c8fc21549c00dd7a3703d0d49c0%?00000000000049c0f6285c8fc2f548c00dd7a3703dea48c000%?00000000e048c0f6285c8fc2d548c00dd7a3703dca48c00000%?000000c048c0f6285c8fc2b548c00dd7a3703daa48c0000000%?0000a048c0f6285c8fc29548c00dd7a3703d8a48c000000000%?008048c0f6285c8fc27548c00dd7a3703d6a48c00000000000%?6048c0f6285c8fc25548c00dd7a3703d4a48c0000000000040%?48c0f6285c8fc23548c00dd7a3703d2a48c000000000002048%?c0f6285c8fc21548c00dd7a3703d0d48c000000000000048c0%?f6285c8fc2f547c00dd7a3703dea47c00000000000e047c0f6%?285c8fc2d547c00dd7a3703dca47c00000000000c047c0f628%?5c8fc2b547c00dd7a3703daa47c00000000000a047c0f6285c%?8fc29547c00dd7a3703d8a47c000000000008047c0f6285c8f%?c27547c00dd7a3703d6a47c000000000006047c0f6285c8fc2%?5547c00dd7a3703d4a47c000000000004047c0f6285c8fc235%?47c00dd7a3703d2a47c000000000002047c0f6285c8fc21547%?c00dd7a3703d0d47c000000000000047c0f6285c8fc2f546c0%?0dd7a3703dea46c00000000000e046c0f6285c8fc2d546c00d%?d7a3703dca46c00000000000c046c0f6285c8fc2b546c00dd7%?a3703daa46c00000000000a046c0f6285c8fc29546c00dd7a3%?703d8a46c000000000008046c0f6285c8fc27546c00dd7a370%?3d6a46c000000000006046c0f6285c8fc25546c00dd7a3703d%?4a46c000000000004046c0f6285c8fc23546c00dd7a3703d2a%?46c000000000002046c0f6285c8fc21546c00dd7a3703d0d46%?c000000000000046c0f6285c8fc2f545c00dd7a3703dea45c0%?0000000000e045c0f6285c8fc2d545c00dd7a3703dca45c000%?00000000c045c0f6285c8fc2b545c00dd7a3703daa45c00000%?000000a045c0f6285c8fc29545c00dd7a3703d8a45c0000000%?00008045c00000000000004ac0f6285c8fc2f549c00dd7a370%?3dea49c00000000000e049c0f6285c8fc2d549c00dd7a3703d%?ca49c00000000000c049c0f6285c8fc2b549c00dd7a3703daa%?49c00000000000a049c0f6285c8fc29549c00dd7a3703d8a49%?c000000000008049c0f6285c8fc27549c00dd7a3703d6a49c0%?00000000006049c0f6285c8fc25549c00dd7a3703d4a49c000%?000000004049c0f6285c8fc23549c00dd7a3703d2a49c00000%?0000002049c0f6285c8fc21549c00dd7a3703d0d49c0000000%?00000049c0f6285c8fc2f548c00dd7a3703dea48c000000000%?00e048c0f6285c8fc2d548c00dd7a3703dca48c00000000000%?c048c0f6285c8fc2b548c00dd7a3703daa48c00000000000a0%?48c0f6285c8fc29548c00dd7a3703d8a48c000000000008048%?c0f6285c8fc27548c00dd7a3703d6a48c000000000006048c0%?f6285c8fc25548c00dd7a3703d4a48c000000000004048c0f6%?285c8fc23548c00dd7a3703d2a48c000000000002048c0f628%?5c8fc21548c00dd7a3703d0d48c000000000000048c0f6285c%?8fc2f547c00dd7a3703dea47c00000000000e047c0f6285c8f%?c2d547c00dd7a3703dca47c00000000000c047c0f6285c8fc2%?b547c00dd7a3703daa47c00000000000a047c0f6285c8fc295%?47c00dd7a3703d8a47c000000000008047c0f6285c8fc27547%?c00dd7a3703d6a47c000000000006047c0f6285c8fc25547c0%?0dd7a3703d4a47c000000000004047c0f6285c8fc23547c00d%?d7a3703d2a47c000000000002047c0f6285c8fc21547c00dd7%?a3703d0d47c000000000000047c0f6285c8fc2f546c00dd7a3%?703dea46c00000000000e046c0f6285c8fc2d546c00dd7a370%?3dca46c00000000000c046c0f6285c8fc2b546c00dd7a3703d%?aa46c00000000000a046c0f6285c8fc29546c00dd7a3703d8a%?46c000000000008046c0f6285c8fc27546c00dd7a3703d6a46%?c000000000006046c0f6285c8fc25546c00dd7a3703d4a46c0%?00000000004046c0f6285c8fc23546c00dd7a3703d2a46c000%?000000002046c0f6285c8fc21546c00dd7a3703d0d46c00000%?0000000046c0f6285c8fc2f545c00dd7a3703dea45c0000000%?0000e045c0f6285c8fc2d545c00dd7a3703dca45c000000000%?00c045c0f6285c8fc2b545c00dd7a3703daa45c00000000000%?a045c0f6285c8fc29545c00dd7a3703d8a45c0000000000080%?45c00000000000004ac0f6285c8fc2f549c00dd7a3703dea49%?c00000000000e049c0f6285c8fc2d549c00dd7a3703dca49c0%?0000000000c049c0f6285c8fc2b549c00dd7a3703daa49c000%?00000000a049c0f6285c8fc29549c00dd7a3703d8a49c00000%?0000008049c0f6285c8fc27549c00dd7a3703d6a49c0000000%?00006049c0f6285c8fc25549c00dd7a3703d4a49c000000000%?004049c0f6285c8fc23549c00dd7a3703d2a49c00000000000%?2049c0f6285c8fc21549c00dd7a3703d0d49c0000000000000%?49c0f6285c8fc2f548c00dd7a3703dea48c00000000000e048%?c0f6285c8fc2d548c00dd7a3703dca48c00000000000c048c0%?f6285c8fc2b548c00dd7a3703daa48c00000000000a048c0f6%?285c8fc29548c00dd7a3703d8a48c000000000008048c0f628%?5c8fc27548c00dd7a3703d6a48c000000000006048c0f6285c%?8fc25548c00dd7a3703d4a48c000000000004048c0f6285c8f%?c23548c00dd7a3703d2a48c000000000002048c0f6285c8fc2%?1548c00dd7a3703d0d48c000000000000048c0f6285c8fc2f5%?47c00dd7a3703dea47c00000000000e047c0f6285c8fc2d547%?c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547c0%?0dd7a3703daa47c00000000000a047c0f6285c8fc29547c00d%?d7a3703d8a47c000000000008047c0f6285c8fc27547c00dd7%?a3703d6a47c000000000006047c0f6285c8fc25547c00dd7a3%?703d4a47c000000000004047c0f6285c8fc23547c00dd7a370%?3d2a47c000000000002047c0f6285c8fc21547c00dd7a3703d%?0d47c000000000000047c0f6285c8fc2f546c00dd7a3703dea%?46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca46%?c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46c0%?0000000000a046c0f6285c8fc29546c00dd7a3703d8a46c000%?000000008046c0f6285c8fc27546c00dd7a3703d6a46c00000%?0000006046c0f6285c8fc25546c00dd7a3703d4a46c0000000%?00004046c0f6285c8fc23546c00dd7a3703d2a46c000000000%?002046c0f6285c8fc21546c00dd7a3703d0d46c00000000000%?0046c0f6285c8fc2f545c00dd7a3703dea45c00000000000e0%?45c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045%?c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0%?f6285c8fc29545c00dd7a3703d8a45c000000000008045c000%?00000000004ac0f6285c8fc2f549c00dd7a3703dea49c00000%?000000e049c0f6285c8fc2d549c00dd7a3703dca49c0000000%?0000c049c0f6285c8fc2b549c00dd7a3703daa49c000000000%?00a049c0f6285c8fc29549c00dd7a3703d8a49c00000000000%?8049c0f6285c8fc27549c00dd7a3703d6a49c0000000000060%?49c0f6285c8fc25549c00dd7a3703d4a49c000000000004049%?c0f6285c8fc23549c00dd7a3703d2a49c000000000002049c0%?f6285c8fc21549c00dd7a3703d0d49c000000000000049c0f6%?285c8fc2f548c00dd7a3703dea48c00000000000e048c0f628%?5c8fc2d548c00dd7a3703dca48c00000000000c048c0f6285c%?8fc2b548c00dd7a3703daa48c00000000000a048c0f6285c8f%?c29548c00dd7a3703d8a48c000000000008048c0f6285c8fc2%?7548c00dd7a3703d6a48c000000000006048c0f6285c8fc255%?48c00dd7a3703d4a48c000000000004048c0f6285c8fc23548%?c00dd7a3703d2a48c000000000002048c0f6285c8fc21548c0%?0dd7a3703d0d48c000000000000048c0f6285c8fc2f547c00d%?d7a3703dea47c00000000000e047c0f6285c8fc2d547c00dd7%?a3703dca47c00000000000c047c0f6285c8fc2b547c00dd7a3%?703daa47c00000000000a047c0f6285c8fc29547c00dd7a370%?3d8a47c000000000008047c0f6285c8fc27547c00dd7a3703d%?6a47c000000000006047c0f6285c8fc25547c00dd7a3703d4a%?47c000000000004047c0f6285c8fc23547c00dd7a3703d2a47%?c000000000002047c0f6285c8fc21547c00dd7a3703d0d47c0%?00000000000047c0f6285c8fc2f546c00dd7a3703dea46c000%?00000000e046c0f6285c8fc2d546c00dd7a3703dca46c00000%?000000c046c0f6285c8fc2b546c00dd7a3703daa46c0000000%?0000a046c0f6285c8fc29546c00dd7a3703d8a46c000000000%?008046c0f6285c8fc27546c00dd7a3703d6a46c00000000000%?6046c0f6285c8fc25546c00dd7a3703d4a46c0000000000040%?46c0f6285c8fc23546c00dd7a3703d2a46c000000000002046%?c0f6285c8fc21546c00dd7a3703d0d46c000000000000046c0%?f6285c8fc2f545c00dd7a3703dea45c00000000000e045c0f6%?285c8fc2d545c00dd7a3703dca45c00000000000c045c0f628%?5c8fc2b545c00dd7a3703daa45c00000000000a045c0f6285c%?8fc29545c00dd7a3703d8a45c000000000008045c000000000%?00004ac0f6285c8fc2f549c00dd7a3703dea49c00000000000%?e049c0f6285c8fc2d549c00dd7a3703dca49c00000000000c0%?49c0f6285c8fc2b549c00dd7a3703daa49c00000000000a049%?c0f6285c8fc29549c00dd7a3703d8a49c000000000008049c0%?f6285c8fc27549c00dd7a3703d6a49c000000000006049c0f6%?285c8fc25549c00dd7a3703d4a49c000000000004049c0f628%?5c8fc23549c00dd7a3703d2a49c000000000002049c0f6285c%?8fc21549c00dd7a3703d0d49c000000000000049c0f6285c8f%?c2f548c00dd7a3703dea48c00000000000e048c0f6285c8fc2%?d548c00dd7a3703dca48c00000000000c048c0f6285c8fc2b5%?48c00dd7a3703daa48c00000000000a048c0f6285c8fc29548%?c00dd7a3703d8a48c000000000008048c0f6285c8fc27548c0%?0dd7a3703d6a48c000000000006048c0f6285c8fc25548c00d%?d7a3703d4a48c000000000004048c0f6285c8fc23548c00dd7%?a3703d2a48c000000000002048c0f6285c8fc21548c00dd7a3%?703d0d48c000000000000048c0f6285c8fc2f547c00dd7a370%?3dea47c00000000000e047c0f6285c8fc2d547c00dd7a3703d%?ca47c00000000000c047c0f6285c8fc2b547c00dd7a3703daa%?47c00000000000a047c0f6285c8fc29547c00dd7a3703d8a47%?c000000000008047c0f6285c8fc27547c00dd7a3703d6a47c0%?00000000006047c0f6285c8fc25547c00dd7a3703d4a47c000%?000000004047c0f6285c8fc23547c00dd7a3703d2a47c00000%?0000002047c0f6285c8fc21547c00dd7a3703d0d47c0000000%?00000047c0f6285c8fc2f546c00dd7a3703dea46c000000000%?00e046c0f6285c8fc2d546c00dd7a3703dca46c00000000000%?c046c0f6285c8fc2b546c00dd7a3703daa46c00000000000a0%?46c0f6285c8fc29546c00dd7a3703d8a46c000000000008046%?c0f6285c8fc27546c00dd7a3703d6a46c000000000006046c0%?f6285c8fc25546c00dd7a3703d4a46c000000000004046c0f6%?285c8fc23546c00dd7a3703d2a46c000000000002046c0f628%?5c8fc21546c00dd7a3703d0d46c000000000000046c0f6285c%?8fc2f545c00dd7a3703dea45c00000000000e045c0f6285c8f%?c2d545c00dd7a3703dca45c00000000000c045c0f6285c8fc2%?b545c00dd7a3703daa45c00000000000a045c0f6285c8fc295%?45c00dd7a3703d8a45c000000000008045c00000000000004a%?c0f6285c8fc2f549c00dd7a3703dea49c00000000000e049c0%?f6285c8fc2d549c00dd7a3703dca49c00000000000c049c0f6%?285c8fc2b549c00dd7a3703daa49c00000000000a049c0f628%?5c8fc29549c00dd7a3703d8a49c000000000008049c0f6285c%?8fc27549c00dd7a3703d6a49c000000000006049c0f6285c8f%?c25549c00dd7a3703d4a49c000000000004049c0f6285c8fc2%?3549c00dd7a3703d2a49c000000000002049c0f6285c8fc215%?49c00dd7a3703d0d49c000000000000049c0f6285c8fc2f548%?c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548c0%?0dd7a3703dca48c00000000000c048c0f6285c8fc2b548c00d%?d7a3703daa48c00000000000a048c0f6285c8fc29548c00dd7%?a3703d8a48c000000000008048c0f6285c8fc27548c00dd7a3%?703d6a48c000000000006048c0f6285c8fc25548c00dd7a370%?3d4a48c000000000004048c0f6285c8fc23548c00dd7a3703d%?2a48c000000000002048c0f6285c8fc21548c00dd7a3703d0d%?48c000000000000048c0f6285c8fc2f547c00dd7a3703dea47%?c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47c0%?0000000000c047c0f6285c8fc2b547c00dd7a3703daa47c000%?00000000a047c0f6285c8fc29547c00dd7a3703d8a47c00000%?0000008047c0f6285c8fc27547c00dd7a3703d6a47c0000000%?00006047c0f6285c8fc25547c00dd7a3703d4a47c000000000%?004047c0f6285c8fc23547c00dd7a3703d2a47c00000000000%?2047c0f6285c8fc21547c00dd7a3703d0d47c0000000000000%?47c0f6285c8fc2f546c00dd7a3703dea46c00000000000e046%?c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046c0%?f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0f6%?285c8fc29546c00dd7a3703d8a46c000000000008046c0f628%?5c8fc27546c00dd7a3703d6a46c000000000006046c0f6285c%?8fc25546c00dd7a3703d4a46c000000000004046c0f6285c8f%?c23546c00dd7a3703d2a46c000000000002046c0f6285c8fc2%?1546c00dd7a3703d0d46c000000000000046c0f6285c8fc2f5%?45c00dd7a3703dea45c00000000000e045c0f6285c8fc2d545%?c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545c0%?0dd7a3703daa45c00000000000a045c0f6285c8fc29545c00d%?d7a3703d8a45c000000000008045c00000000000004ac0f628%?5c8fc2f549c00dd7a3703dea49c00000000000e049c0f6285c%?8fc2d549c00dd7a3703dca49c00000000000c049c0f6285c8f%?c2b549c00dd7a3703daa49c00000000000a049c0f6285c8fc2%?9549c00dd7a3703d8a49c000000000008049c0f6285c8fc275%?49c00dd7a3703d6a49c000000000006049c0f6285c8fc25549%?c00dd7a3703d4a49c000000000004049c0f6285c8fc23549c0%?0dd7a3703d2a49c000000000002049c0f6285c8fc21549c00d%?d7a3703d0d49c000000000000049c0f6285c8fc2f548c00dd7%?a3703dea48c00000000000e048c0f6285c8fc2d548c00dd7a3%?703dca48c00000000000c048c0f6285c8fc2b548c00dd7a370%?3daa48c00000000000a048c0f6285c8fc29548c00dd7a3703d%?8a48c000000000008048c0f6285c8fc27548c00dd7a3703d6a%?48c000000000006048c0f6285c8fc25548c00dd7a3703d4a48%?c000000000004048c0f6285c8fc23548c00dd7a3703d2a48c0%?00000000002048c0f6285c8fc21548c00dd7a3703d0d48c000%?000000000048c0f6285c8fc2f547c00dd7a3703dea47c00000%?000000e047c0f6285c8fc2d547c00dd7a3703dca47c0000000%?0000c047c0f6285c8fc2b547c00dd7a3703daa47c000000000%?00a047c0f6285c8fc29547c00dd7a3703d8a47c00000000000%?8047c0f6285c8fc27547c00dd7a3703d6a47c0000000000060%?47c0f6285c8fc25547c00dd7a3703d4a47c000000000004047%?c0f6285c8fc23547c00dd7a3703d2a47c000000000002047c0%?f6285c8fc21547c00dd7a3703d0d47c000000000000047c0f6%?285c8fc2f546c00dd7a3703dea46c00000000000e046c0f628%?5c8fc2d546c00dd7a3703dca46c00000000000c046c0f6285c%?8fc2b546c00dd7a3703daa46c00000000000a046c0f6285c8f%?c29546c00dd7a3703d8a46c000000000008046c0f6285c8fc2%?7546c00dd7a3703d6a46c000000000006046c0f6285c8fc255%?46c00dd7a3703d4a46c000000000004046c0f6285c8fc23546%?c00dd7a3703d2a46c000000000002046c0f6285c8fc21546c0%?0dd7a3703d0d46c000000000000046c0f6285c8fc2f545c00d%?d7a3703dea45c00000000000e045c0f6285c8fc2d545c00dd7%?a3703dca45c00000000000c045c0f6285c8fc2b545c00dd7a3%?703daa45c00000000000a045c0f6285c8fc29545c00dd7a370%?3d8a45c000000000008045c00000000000004ac0f6285c8fc2%?f549c00dd7a3703dea49c00000000000e049c0f6285c8fc2d5%?49c00dd7a3703dca49c00000000000c049c0f6285c8fc2b549%?c00dd7a3703daa49c00000000000a049c0f6285c8fc29549c0%?0dd7a3703d8a49c000000000008049c0f6285c8fc27549c00d%?d7a3703d6a49c000000000006049c0f6285c8fc25549c00dd7%?a3703d4a49c000000000004049c0f6285c8fc23549c00dd7a3%?703d2a49c000000000002049c0f6285c8fc21549c00dd7a370%?3d0d49c000000000000049c0f6285c8fc2f548c00dd7a3703d%?ea48c00000000000e048c0f6285c8fc2d548c00dd7a3703dca%?48c00000000000c048c0f6285c8fc2b548c00dd7a3703daa48%?c00000000000a048c0f6285c8fc29548c00dd7a3703d8a48c0%?00000000008048c0f6285c8fc27548c00dd7a3703d6a48c000%?000000006048c0f6285c8fc25548c00dd7a3703d4a48c00000%?0000004048c0f6285c8fc23548c00dd7a3703d2a48c0000000%?00002048c0f6285c8fc21548c00dd7a3703d0d48c000000000%?000048c0f6285c8fc2f547c00dd7a3703dea47c00000000000%?e047c0f6285c8fc2d547c00dd7a3703dca47c00000000000c0%?47c0f6285c8fc2b547c00dd7a3703daa47c00000000000a047%?c0f6285c8fc29547c00dd7a3703d8a47c000000000008047c0%?f6285c8fc27547c00dd7a3703d6a47c000000000006047c0f6%?285c8fc25547c00dd7a3703d4a47c000000000004047c0f628%?5c8fc23547c00dd7a3703d2a47c000000000002047c0f6285c%?8fc21547c00dd7a3703d0d47c000000000000047c0f6285c8f%?c2f546c00dd7a3703dea46c00000000000e046c0f6285c8fc2%?d546c00dd7a3703dca46c00000000000c046c0f6285c8fc2b5%?46c00dd7a3703daa46c00000000000a046c0f6285c8fc29546%?c00dd7a3703d8a46c000000000008046c0f6285c8fc27546c0%?0dd7a3703d6a46c000000000006046c0f6285c8fc25546c00d%?d7a3703d4a46c000000000004046c0f6285c8fc23546c00dd7%?a3703d2a46c000000000002046c0f6285c8fc21546c00dd7a3%?703d0d46c000000000000046c0f6285c8fc2f545c00dd7a370%?3dea45c00000000000e045c0f6285c8fc2d545c00dd7a3703d%?ca45c00000000000c045c0f6285c8fc2b545c00dd7a3703daa%?45c00000000000a045c0f6285c8fc29545c00dd7a3703d8a45%?c000000000008045c00000000000004ac0f6285c8fc2f549c0%?0dd7a3703dea49c00000000000e049c0f6285c8fc2d549c00d%?d7a3703dca49c00000000000c049c0f6285c8fc2b549c00dd7%?a3703daa49c00000000000a049c0f6285c8fc29549c00dd7a3%?703d8a49c000000000008049c0f6285c8fc27549c00dd7a370%?3d6a49c000000000006049c0f6285c8fc25549c00dd7a3703d%?4a49c000000000004049c0f6285c8fc23549c00dd7a3703d2a%?49c000000000002049c0f6285c8fc21549c00dd7a3703d0d49%?c000000000000049c0f6285c8fc2f548c00dd7a3703dea48c0%?0000000000e048c0f6285c8fc2d548c00dd7a3703dca48c000%?00000000c048c0f6285c8fc2b548c00dd7a3703daa48c00000%?000000a048c0f6285c8fc29548c00dd7a3703d8a48c0000000%?00008048c0f6285c8fc27548c00dd7a3703d6a48c000000000%?006048c0f6285c8fc25548c00dd7a3703d4a48c00000000000%?4048c0f6285c8fc23548c00dd7a3703d2a48c0000000000020%?48c0f6285c8fc21548c00dd7a3703d0d48c000000000000048%?c0f6285c8fc2f547c00dd7a3703dea47c00000000000e047c0%?f6285c8fc2d547c00dd7a3703dca47c00000000000c047c0f6%?285c8fc2b547c00dd7a3703daa47c00000000000a047c0f628%?5c8fc29547c00dd7a3703d8a47c000000000008047c0f6285c%?8fc27547c00dd7a3703d6a47c000000000006047c0f6285c8f%?c25547c00dd7a3703d4a47c000000000004047c0f6285c8fc2%?3547c00dd7a3703d2a47c000000000002047c0f6285c8fc215%?47c00dd7a3703d0d47c000000000000047c0f6285c8fc2f546%?c00dd7a3703dea46c00000000000e046c0f6285c8fc2d546c0%?0dd7a3703dca46c00000000000c046c0f6285c8fc2b546c00d%?d7a3703daa46c00000000000a046c0f6285c8fc29546c00dd7%?a3703d8a46c000000000008046c0f6285c8fc27546c00dd7a3%?703d6a46c000000000006046c0f6285c8fc25546c00dd7a370%?3d4a46c000000000004046c0f6285c8fc23546c00dd7a3703d%?2a46c000000000002046c0f6285c8fc21546c00dd7a3703d0d%?46c000000000000046c0f6285c8fc2f545c00dd7a3703dea45%?c00000000000e045c0f6285c8fc2d545c00dd7a3703dca45c0%?0000000000c045c0f6285c8fc2b545c00dd7a3703daa45c000%?00000000a045c0f6285c8fc29545c00dd7a3703d8a45c00000%?0000008045c00000000000004ac0f6285c8fc2f549c00dd7a3%?703dea49c00000000000e049c0f6285c8fc2d549c00dd7a370%?3dca49c00000000000c049c0f6285c8fc2b549c00dd7a3703d%?aa49c00000000000a049c0f6285c8fc29549c00dd7a3703d8a%?49c000000000008049c0f6285c8fc27549c00dd7a3703d6a49%?c000000000006049c0f6285c8fc25549c00dd7a3703d4a49c0%?00000000004049c0f6285c8fc23549c00dd7a3703d2a49c000%?000000002049c0f6285c8fc21549c00dd7a3703d0d49c00000%?0000000049c0f6285c8fc2f548c00dd7a3703dea48c0000000%?0000e048c0f6285c8fc2d548c00dd7a3703dca48c000000000%?00c048c0f6285c8fc2b548c00dd7a3703daa48c00000000000%?a048c0f6285c8fc29548c00dd7a3703d8a48c0000000000080%?48c0f6285c8fc27548c00dd7a3703d6a48c000000000006048%?c0f6285c8fc25548c00dd7a3703d4a48c000000000004048c0%?f6285c8fc23548c00dd7a3703d2a48c000000000002048c0f6%?285c8fc21548c00dd7a3703d0d48c000000000000048c0f628%?5c8fc2f547c00dd7a3703dea47c00000000000e047c0f6285c%?8fc2d547c00dd7a3703dca47c00000000000c047c0f6285c8f%?c2b547c00dd7a3703daa47c00000000000a047c0f6285c8fc2%?9547c00dd7a3703d8a47c000000000008047c0f6285c8fc275%?47c00dd7a3703d6a47c000000000006047c0f6285c8fc25547%?c00dd7a3703d4a47c000000000004047c0f6285c8fc23547c0%?0dd7a3703d2a47c000000000002047c0f6285c8fc21547c00d%?d7a3703d0d47c000000000000047c0f6285c8fc2f546c00dd7%?a3703dea46c00000000000e046c0f6285c8fc2d546c00dd7a3%?703dca46c00000000000c046c0f6285c8fc2b546c00dd7a370%?3daa46c00000000000a046c0f6285c8fc29546c00dd7a3703d%?8a46c000000000008046c0f6285c8fc27546c00dd7a3703d6a%?46c000000000006046c0f6285c8fc25546c00dd7a3703d4a46%?c000000000004046c0f6285c8fc23546c00dd7a3703d2a46c0%?00000000002046c0f6285c8fc21546c00dd7a3703d0d46c000%?000000000046c0f6285c8fc2f545c00dd7a3703dea45c00000%?000000e045c0f6285c8fc2d545c00dd7a3703dca45c0000000%?0000c045c0f6285c8fc2b545c00dd7a3703daa45c000000000%?00a045c0f6285c8fc29545c00dd7a3703d8a45c00000000000%?8045c00000000000004ac0f6285c8fc2f549c00dd7a3703dea%?49c00000000000e049c0f6285c8fc2d549c00dd7a3703dca49%?c00000000000c049c0f6285c8fc2b549c00dd7a3703daa49c0%?0000000000a049c0f6285c8fc29549c00dd7a3703d8a49c000%?000000008049c0f6285c8fc27549c00dd7a3703d6a49c00000%?0000006049c0f6285c8fc25549c00dd7a3703d4a49c0000000%?00004049c0f6285c8fc23549c00dd7a3703d2a49c000000000%?002049c0f6285c8fc21549c00dd7a3703d0d49c00000000000%?0049c0f6285c8fc2f548c00dd7a3703dea48c00000000000e0%?48c0f6285c8fc2d548c00dd7a3703dca48c00000000000c048%?c0f6285c8fc2b548c00dd7a3703daa48c00000000000a048c0%?f6285c8fc29548c00dd7a3703d8a48c000000000008048c0f6%?285c8fc27548c00dd7a3703d6a48c000000000006048c0f628%?5c8fc25548c00dd7a3703d4a48c000000000004048c0f6285c%?8fc23548c00dd7a3703d2a48c000000000002048c0f6285c8f%?c21548c00dd7a3703d0d48c000000000000048c0f6285c8fc2%?f547c00dd7a3703dea47c00000000000e047c0f6285c8fc2d5%?47c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547%?c00dd7a3703daa47c00000000000a047c0f6285c8fc29547c0%?0dd7a3703d8a47c000000000008047c0f6285c8fc27547c00d%?d7a3703d6a47c000000000006047c0f6285c8fc25547c00dd7%?a3703d4a47c000000000004047c0f6285c8fc23547c00dd7a3%?703d2a47c000000000002047c0f6285c8fc21547c00dd7a370%?3d0d47c000000000000047c0f6285c8fc2f546c00dd7a3703d%?ea46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca%?46c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46%?c00000000000a046c0f6285c8fc29546c00dd7a3703d8a46c0%?00000000008046c0f6285c8fc27546c00dd7a3703d6a46c000%?000000006046c0f6285c8fc25546c00dd7a3703d4a46c00000%?0000004046c0f6285c8fc23546c00dd7a3703d2a46c0000000%?00002046c0f6285c8fc21546c00dd7a3703d0d46c000000000%?000046c0f6285c8fc2f545c00dd7a3703dea45c00000000000%?e045c0f6285c8fc2d545c00dd7a3703dca45c00000000000c0%?45c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045%?c0f6285c8fc29545c00dd7a3703d8a45c000000000008045c0%?0000000000004ac0f6285c8fc2f549c00dd7a3703dea49c000%?00000000e049c0f6285c8fc2d549c00dd7a3703dca49c00000%?000000c049c0f6285c8fc2b549c00dd7a3703daa49c0000000%?0000a049c0f6285c8fc29549c00dd7a3703d8a49c000000000%?008049c0f6285c8fc27549c00dd7a3703d6a49c00000000000%?6049c0f6285c8fc25549c00dd7a3703d4a49c0000000000040%?49c0f6285c8fc23549c00dd7a3703d2a49c000000000002049%?c0f6285c8fc21549c00dd7a3703d0d49c000000000000049c0%?f6285c8fc2f548c00dd7a3703dea48c00000000000e048c0f6%?285c8fc2d548c00dd7a3703dca48c00000000000c048c0f628%?5c8fc2b548c00dd7a3703daa48c00000000000a048c0f6285c%?8fc29548c00dd7a3703d8a48c000000000008048c0f6285c8f%?c27548c00dd7a3703d6a48c000000000006048c0f6285c8fc2%?5548c00dd7a3703d4a48c000000000004048c0f6285c8fc235%?48c00dd7a3703d2a48c000000000002048c0f6285c8fc21548%?c00dd7a3703d0d48c000000000000048c0f6285c8fc2f547c0%?0dd7a3703dea47c00000000000e047c0f6285c8fc2d547c00d%?d7a3703dca47c00000000000c047c0f6285c8fc2b547c00dd7%?a3703daa47c00000000000a047c0f6285c8fc29547c00dd7a3%?703d8a47c000000000008047c0f6285c8fc27547c00dd7a370%?3d6a47c000000000006047c0f6285c8fc25547c00dd7a3703d%?4a47c000000000004047c0f6285c8fc23547c00dd7a3703d2a%?47c000000000002047c0f6285c8fc21547c00dd7a3703d0d47%?c000000000000047c0f6285c8fc2f546c00dd7a3703dea46c0%?0000000000e046c0f6285c8fc2d546c00dd7a3703dca46c000%?00000000c046c0f6285c8fc2b546c00dd7a3703daa46c00000%?000000a046c0f6285c8fc29546c00dd7a3703d8a46c0000000%?00008046c0f6285c8fc27546c00dd7a3703d6a46c000000000%?006046c0f6285c8fc25546c00dd7a3703d4a46c00000000000%?4046c0f6285c8fc23546c00dd7a3703d2a46c0000000000020%?46c0f6285c8fc21546c00dd7a3703d0d46c000000000000046%?c0f6285c8fc2f545c00dd7a3703dea45c00000000000e045c0%?f6285c8fc2d545c00dd7a3703dca45c00000000000c045c0f6%?285c8fc2b545c00dd7a3703daa45c00000000000a045c0f628%?5c8fc29545c00dd7a3703d8a45c000000000008045c0000000%?0000004ac0f6285c8fc2f549c00dd7a3703dea49c000000000%?00e049c0f6285c8fc2d549c00dd7a3703dca49c00000000000%?c049c0f6285c8fc2b549c00dd7a3703daa49c00000000000a0%?49c0f6285c8fc29549c00dd7a3703d8a49c000000000008049%?c0f6285c8fc27549c00dd7a3703d6a49c000000000006049c0%?f6285c8fc25549c00dd7a3703d4a49c000000000004049c0f6%?285c8fc23549c00dd7a3703d2a49c000000000002049c0f628%?5c8fc21549c00dd7a3703d0d49c000000000000049c0f6285c%?8fc2f548c00dd7a3703dea48c00000000000e048c0f6285c8f%?c2d548c00dd7a3703dca48c00000000000c048c0f6285c8fc2%?b548c00dd7a3703daa48c00000000000a048c0f6285c8fc295%?48c00dd7a3703d8a48c000000000008048c0f6285c8fc27548%?c00dd7a3703d6a48c000000000006048c0f6285c8fc25548c0%?0dd7a3703d4a48c000000000004048c0f6285c8fc23548c00d%?d7a3703d2a48c000000000002048c0f6285c8fc21548c00dd7%?a3703d0d48c000000000000048c0f6285c8fc2f547c00dd7a3%?703dea47c00000000000e047c0f6285c8fc2d547c00dd7a370%?3dca47c00000000000c047c0f6285c8fc2b547c00dd7a3703d%?aa47c00000000000a047c0f6285c8fc29547c00dd7a3703d8a%?47c000000000008047c0f6285c8fc27547c00dd7a3703d6a47%?c000000000006047c0f6285c8fc25547c00dd7a3703d4a47c0%?00000000004047c0f6285c8fc23547c00dd7a3703d2a47c000%?000000002047c0f6285c8fc21547c00dd7a3703d0d47c00000%?0000000047c0f6285c8fc2f546c00dd7a3703dea46c0000000%?0000e046c0f6285c8fc2d546c00dd7a3703dca46c000000000%?00c046c0f6285c8fc2b546c00dd7a3703daa46c00000000000%?a046c0f6285c8fc29546c00dd7a3703d8a46c0000000000080%?46c0f6285c8fc27546c00dd7a3703d6a46c000000000006046%?c0f6285c8fc25546c00dd7a3703d4a46c000000000004046c0%?f6285c8fc23546c00dd7a3703d2a46c000000000002046c0f6%?285c8fc21546c00dd7a3703d0d46c000000000000046c0f628%?5c8fc2f545c00dd7a3703dea45c00000000000e045c0f6285c%?8fc2d545c00dd7a3703dca45c00000000000c045c0f6285c8f%?c2b545c00dd7a3703daa45c00000000000a045c0f6285c8fc2%?9545c00dd7a3703d8a45c000000000008045c0000000000000%?4ac0f6285c8fc2f549c00dd7a3703dea49c00000000000e049%?c0f6285c8fc2d549c00dd7a3703dca49c00000000000c049c0%?f6285c8fc2b549c00dd7a3703daa49c00000000000a049c0f6%?285c8fc29549c00dd7a3703d8a49c000000000008049c0f628%?5c8fc27549c00dd7a3703d6a49c000000000006049c0f6285c%?8fc25549c00dd7a3703d4a49c000000000004049c0f6285c8f%?c23549c00dd7a3703d2a49c000000000002049c0f6285c8fc2%?1549c00dd7a3703d0d49c000000000000049c0f6285c8fc2f5%?48c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548%?c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548c0%?0dd7a3703daa48c00000000000a048c0f6285c8fc29548c00d%?d7a3703d8a48c000000000008048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c0f6285c8fc2f549c00d%?d7a3703dea49c00000000000e049c0f6285c8fc2d549c00dd7%?a3703dca49c00000000000c049c0f6285c8fc2b549c00dd7a3%?703daa49c00000000000a049c0f6285c8fc29549c00dd7a370%?3d8a49c000000000008049c0f6285c8fc27549c00dd7a3703d%?6a49c000000000006049c0f6285c8fc25549c00dd7a3703d4a%?49c000000000004049c0f6285c8fc23549c00dd7a3703d2a49%?c000000000002049c0f6285c8fc21549c00dd7a3703d0d49c0%?00000000000049c0f6285c8fc2f548c00dd7a3703dea48c000%?00000000e048c0f6285c8fc2d548c00dd7a3703dca48c00000%?000000c048c0f6285c8fc2b548c00dd7a3703daa48c0000000%?0000a048c0f6285c8fc29548c00dd7a3703d8a48c000000000%?008048c0f6285c8fc27548c00dd7a3703d6a48c00000000000%?6048c0f6285c8fc25548c00dd7a3703d4a48c0000000000040%?48c0f6285c8fc23548c00dd7a3703d2a48c000000000002048%?c0f6285c8fc21548c00dd7a3703d0d48c000000000000048c0%?f6285c8fc2f547c00dd7a3703dea47c00000000000e047c0f6%?285c8fc2d547c00dd7a3703dca47c00000000000c047c0f628%?5c8fc2b547c00dd7a3703daa47c00000000000a047c0f6285c%?8fc29547c00dd7a3703d8a47c000000000008047c0f6285c8f%?c27547c00dd7a3703d6a47c000000000006047c0f6285c8fc2%?5547c00dd7a3703d4a47c000000000004047c0f6285c8fc235%?47c00dd7a3703d2a47c000000000002047c0f6285c8fc21547%?c00dd7a3703d0d47c000000000000047c0f6285c8fc2f546c0%?0dd7a3703dea46c00000000000e046c0f6285c8fc2d546c00d%?d7a3703dca46c00000000000c046c0f6285c8fc2b546c00dd7%?a3703daa46c00000000000a046c0f6285c8fc29546c00dd7a3%?703d8a46c000000000008046c0f6285c8fc27546c00dd7a370%?3d6a46c000000000006046c0f6285c8fc25546c00dd7a3703d%?4a46c000000000004046c0f6285c8fc23546c00dd7a3703d2a%?46c000000000002046c0f6285c8fc21546c00dd7a3703d0d46%?c000000000000046c0f6285c8fc2f545c00dd7a3703dea45c0%?0000000000e045c0f6285c8fc2d545c00dd7a3703dca45c000%?00000000c045c0f6285c8fc2b545c00dd7a3703daa45c00000%?000000a045c0f6285c8fc29545c00dd7a3703d8a45c0000000%?00008045c0f6285c8fc2f549c00dd7a3703dea49c000000000%?00e049c0f6285c8fc2d549c00dd7a3703dca49c00000000000%?c049c0f6285c8fc2b549c00dd7a3703daa49c00000000000a0%?49c0f6285c8fc29549c00dd7a3703d8a49c000000000008049%?c0f6285c8fc27549c00dd7a3703d6a49c000000000006049c0%?f6285c8fc25549c00dd7a3703d4a49c000000000004049c0f6%?285c8fc23549c00dd7a3703d2a49c000000000002049c0f628%?5c8fc21549c00dd7a3703d0d49c000000000000049c0f6285c%?8fc2f548c00dd7a3703dea48c00000000000e048c0f6285c8f%?c2d548c00dd7a3703dca48c00000000000c048c0f6285c8fc2%?b548c00dd7a3703daa48c00000000000a048c0f6285c8fc295%?48c00dd7a3703d8a48c000000000008048c0f6285c8fc27548%?c00dd7a3703d6a48c000000000006048c0f6285c8fc25548c0%?0dd7a3703d4a48c000000000004048c0f6285c8fc23548c00d%?d7a3703d2a48c000000000002048c0f6285c8fc21548c00dd7%?a3703d0d48c000000000000048c0f6285c8fc2f547c00dd7a3%?703dea47c00000000000e047c0f6285c8fc2d547c00dd7a370%?3dca47c00000000000c047c0f6285c8fc2b547c00dd7a3703d%?aa47c00000000000a047c0f6285c8fc29547c00dd7a3703d8a%?47c000000000008047c0f6285c8fc27547c00dd7a3703d6a47%?c000000000006047c0f6285c8fc25547c00dd7a3703d4a47c0%?00000000004047c0f6285c8fc23547c00dd7a3703d2a47c000%?000000002047c0f6285c8fc21547c00dd7a3703d0d47c00000%?0000000047c0f6285c8fc2f546c00dd7a3703dea46c0000000%?0000e046c0f6285c8fc2d546c00dd7a3703dca46c000000000%?00c046c0f6285c8fc2b546c00dd7a3703daa46c00000000000%?a046c0f6285c8fc29546c00dd7a3703d8a46c0000000000080%?46c0f6285c8fc27546c00dd7a3703d6a46c000000000006046%?c0f6285c8fc25546c00dd7a3703d4a46c000000000004046c0%?f6285c8fc23546c00dd7a3703d2a46c000000000002046c0f6%?285c8fc21546c00dd7a3703d0d46c000000000000046c0f628%?5c8fc2f545c00dd7a3703dea45c00000000000e045c0f6285c%?8fc2d545c00dd7a3703dca45c00000000000c045c0f6285c8f%?c2b545c00dd7a3703daa45c00000000000a045c0f6285c8fc2%?9545c00dd7a3703d8a45c000000000008045c00dd7a3703dea%?49c00000000000e049c0f6285c8fc2d549c00dd7a3703dca49%?c00000000000c049c0f6285c8fc2b549c00dd7a3703daa49c0%?0000000000a049c0f6285c8fc29549c00dd7a3703d8a49c000%?000000008049c0f6285c8fc27549c00dd7a3703d6a49c00000%?0000006049c0f6285c8fc25549c00dd7a3703d4a49c0000000%?00004049c0f6285c8fc23549c00dd7a3703d2a49c000000000%?002049c0f6285c8fc21549c00dd7a3703d0d49c00000000000%?0049c0f6285c8fc2f548c00dd7a3703dea48c00000000000e0%?48c0f6285c8fc2d548c00dd7a3703dca48c00000000000c048%?c0f6285c8fc2b548c00dd7a3703daa48c00000000000a048c0%?f6285c8fc29548c00dd7a3703d8a48c000000000008048c0f6%?285c8fc27548c00dd7a3703d6a48c000000000006048c0f628%?5c8fc25548c00dd7a3703d4a48c000000000004048c0f6285c%?8fc23548c00dd7a3703d2a48c000000000002048c0f6285c8f%?c21548c00dd7a3703d0d48c000000000000048c0f6285c8fc2%?f547c00dd7a3703dea47c00000000000e047c0f6285c8fc2d5%?47c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547%?c00dd7a3703daa47c00000000000a047c0f6285c8fc29547c0%?0dd7a3703d8a47c000000000008047c0f6285c8fc27547c00d%?d7a3703d6a47c000000000006047c0f6285c8fc25547c00dd7%?a3703d4a47c000000000004047c0f6285c8fc23547c00dd7a3%?703d2a47c000000000002047c0f6285c8fc21547c00dd7a370%?3d0d47c000000000000047c0f6285c8fc2f546c00dd7a3703d%?ea46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca%?46c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46%?c00000000000a046c0f6285c8fc29546c00dd7a3703d8a46c0%?00000000008046c0f6285c8fc27546c00dd7a3703d6a46c000%?000000006046c0f6285c8fc25546c00dd7a3703d4a46c00000%?0000004046c0f6285c8fc23546c00dd7a3703d2a46c0000000%?00002046c0f6285c8fc21546c00dd7a3703d0d46c000000000%?000046c0f6285c8fc2f545c00dd7a3703dea45c00000000000%?e045c0f6285c8fc2d545c00dd7a3703dca45c00000000000c0%?45c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045%?c0f6285c8fc29545c00dd7a3703d8a45c000000000008045c0%?0dd7a3703dea49c00000000000e049c0f6285c8fc2d549c00d%?d7a3703dca49c00000000000c049c0f6285c8fc2b549c00dd7%?a3703daa49c00000000000a049c0f6285c8fc29549c00dd7a3%?703d8a49c000000000008049c0f6285c8fc27549c00dd7a370%?3d6a49c000000000006049c0f6285c8fc25549c00dd7a3703d%?4a49c000000000004049c0f6285c8fc23549c00dd7a3703d2a%?49c000000000002049c0f6285c8fc21549c00dd7a3703d0d49%?c000000000000049c0f6285c8fc2f548c00dd7a3703dea48c0%?0000000000e048c0f6285c8fc2d548c00dd7a3703dca48c000%?00000000c048c0f6285c8fc2b548c00dd7a3703daa48c00000%?000000a048c0f6285c8fc29548c00dd7a3703d8a48c0000000%?00008048c0f6285c8fc27548c00dd7a3703d6a48c000000000%?006048c0f6285c8fc25548c00dd7a3703d4a48c00000000000%?4048c0f6285c8fc23548c00dd7a3703d2a48c0000000000020%?48c0f6285c8fc21548c00dd7a3703d0d48c000000000000048%?c0f6285c8fc2f547c00dd7a3703dea47c00000000000e047c0%?f6285c8fc2d547c00dd7a3703dca47c00000000000c047c0f6%?285c8fc2b547c00dd7a3703daa47c00000000000a047c0f628%?5c8fc29547c00dd7a3703d8a47c000000000008047c0f6285c%?8fc27547c00dd7a3703d6a47c000000000006047c0f6285c8f%?c25547c00dd7a3703d4a47c000000000004047c0f6285c8fc2%?3547c00dd7a3703d2a47c000000000002047c0f6285c8fc215%?47c00dd7a3703d0d47c000000000000047c0f6285c8fc2f546%?c00dd7a3703dea46c00000000000e046c0f6285c8fc2d546c0%?0dd7a3703dca46c00000000000c046c0f6285c8fc2b546c00d%?d7a3703daa46c00000000000a046c0f6285c8fc29546c00dd7%?a3703d8a46c000000000008046c0f6285c8fc27546c00dd7a3%?703d6a46c000000000006046c0f6285c8fc25546c00dd7a370%?3d4a46c000000000004046c0f6285c8fc23546c00dd7a3703d%?2a46c000000000002046c0f6285c8fc21546c00dd7a3703d0d%?46c000000000000046c0f6285c8fc2f545c00dd7a3703dea45%?c00000000000e045c0f6285c8fc2d545c00dd7a3703dca45c0%?0000000000c045c0f6285c8fc2b545c00dd7a3703daa45c000%?00000000a045c0f6285c8fc29545c00dd7a3703d8a45c00000%?0000008045c00dd7a3703dea49c00000000000e049c0f6285c%?8fc2d549c00dd7a3703dca49c00000000000c049c0f6285c8f%?c2b549c00dd7a3703daa49c00000000000a049c0f6285c8fc2%?9549c00dd7a3703d8a49c000000000008049c0f6285c8fc275%?49c00dd7a3703d6a49c000000000006049c0f6285c8fc25549%?c00dd7a3703d4a49c000000000004049c0f6285c8fc23549c0%?0dd7a3703d2a49c000000000002049c0f6285c8fc21549c00d%?d7a3703d0d49c000000000000049c0f6285c8fc2f548c00dd7%?a3703dea48c00000000000e048c0f6285c8fc2d548c00dd7a3%?703dca48c00000000000c048c0f6285c8fc2b548c00dd7a370%?3daa48c00000000000a048c0f6285c8fc29548c00dd7a3703d%?8a48c000000000008048c0f6285c8fc27548c00dd7a3703d6a%?48c000000000006048c0f6285c8fc25548c00dd7a3703d4a48%?c000000000004048c0f6285c8fc23548c00dd7a3703d2a48c0%?00000000002048c0f6285c8fc21548c00dd7a3703d0d48c000%?000000000048c0f6285c8fc2f547c00dd7a3703dea47c00000%?000000e047c0f6285c8fc2d547c00dd7a3703dca47c0000000%?0000c047c0f6285c8fc2b547c00dd7a3703daa47c000000000%?00a047c0f6285c8fc29547c00dd7a3703d8a47c00000000000%?8047c0f6285c8fc27547c00dd7a3703d6a47c0000000000060%?47c0f6285c8fc25547c00dd7a3703d4a47c000000000004047%?c0f6285c8fc23547c00dd7a3703d2a47c000000000002047c0%?f6285c8fc21547c00dd7a3703d0d47c000000000000047c0f6%?285c8fc2f546c00dd7a3703dea46c00000000000e046c0f628%?5c8fc2d546c00dd7a3703dca46c00000000000c046c0f6285c%?8fc2b546c00dd7a3703daa46c00000000000a046c0f6285c8f%?c29546c00dd7a3703d8a46c000000000008046c0f6285c8fc2%?7546c00dd7a3703d6a46c000000000006046c0f6285c8fc255%?46c00dd7a3703d4a46c000000000004046c0f6285c8fc23546%?c00dd7a3703d2a46c000000000002046c0f6285c8fc21546c0%?0dd7a3703d0d46c000000000000046c0f6285c8fc2f545c00d%?d7a3703dea45c00000000000e045c0f6285c8fc2d545c00dd7%?a3703dca45c00000000000c045c0f6285c8fc2b545c00dd7a3%?703daa45c00000000000a045c0f6285c8fc29545c00dd7a370%?3d8a45c000000000008045c0f6285c8fc2b549c00dd7a3703d%?aa49c00000000000a049c0f6285c8fc29549c00dd7a3703d8a%?49c000000000008049c0f6285c8fc27549c00dd7a3703d6a49%?c000000000006049c0f6285c8fc25549c00dd7a3703d4a49c0%?00000000004049c0f6285c8fc23549c00dd7a3703d2a49c000%?000000002049c0f6285c8fc21549c00dd7a3703d0d49c00000%?0000000049c0f6285c8fc2f548c00dd7a3703dea48c0000000%?0000e048c0f6285c8fc2d548c00dd7a3703dca48c000000000%?00c048c0f6285c8fc2b548c00dd7a3703daa48c00000000000%?a048c0f6285c8fc29548c00dd7a3703d8a48c0000000000080%?48c0f6285c8fc27548c00dd7a3703d6a48c000000000006048%?c0f6285c8fc25548c00dd7a3703d4a48c000000000004048c0%?f6285c8fc23548c00dd7a3703d2a48c000000000002048c0f6%?285c8fc21548c00dd7a3703d0d48c000000000000048c0f628%?5c8fc2f547c00dd7a3703dea47c00000000000e047c0f6285c%?8fc2d547c00dd7a3703dca47c00000000000c047c0f6285c8f%?c2b547c00dd7a3703daa47c00000000000a047c0f6285c8fc2%?9547c00dd7a3703d8a47c000000000008047c0f6285c8fc275%?47c00dd7a3703d6a47c000000000006047c0f6285c8fc25547%?c00dd7a3703d4a47c000000000004047c0f6285c8fc23547c0%?0dd7a3703d2a47c000000000002047c0f6285c8fc21547c00d%?d7a3703d0d47c000000000000047c0f6285c8fc2f546c00dd7%?a3703dea46c00000000000e046c0f6285c8fc2d546c00dd7a3%?703dca46c00000000000c046c0f6285c8fc2b546c00dd7a370%?3daa46c00000000000a046c0f6285c8fc29546c00dd7a3703d%?8a46c000000000008046c0f6285c8fc27546c00dd7a3703d6a%?46c000000000006046c0f6285c8fc25546c00dd7a3703d4a46%?c000000000004046c0f6285c8fc23546c00dd7a3703d2a46c0%?00000000002046c0f6285c8fc21546c00dd7a3703d0d46c000%?000000000046c0f6285c8fc2f545c00dd7a3703dea45c00000%?000000e045c0f6285c8fc2d545c00dd7a3703dca45c0000000%?0000c045c0f6285c8fc2b545c00dd7a3703daa45c000000000%?00a045c0f6285c8fc29545c00dd7a3703d8a45c00000000000%?8045c0f6285c8fc2d549c00000000000c049c0f6285c8fc2b5%?49c00dd7a3703daa49c00000000000a049c0f6285c8fc29549%?c00dd7a3703d8a49c000000000008049c0f6285c8fc27549c0%?0dd7a3703d6a49c000000000006049c0f6285c8fc25549c00d%?d7a3703d4a49c000000000004049c0f6285c8fc23549c00dd7%?a3703d2a49c000000000002049c0f6285c8fc21549c00dd7a3%?703d0d49c000000000000049c0f6285c8fc2f548c00dd7a370%?3dea48c00000000000e048c0f6285c8fc2d548c00dd7a3703d%?ca48c00000000000c048c0f6285c8fc2b548c00dd7a3703daa%?48c00000000000a048c0f6285c8fc29548c00dd7a3703d8a48%?c000000000008048c0f6285c8fc27548c00dd7a3703d6a48c0%?00000000006048c0f6285c8fc25548c00dd7a3703d4a48c000%?000000004048c0f6285c8fc23548c00dd7a3703d2a48c00000%?0000002048c0f6285c8fc21548c00dd7a3703d0d48c0000000%?00000048c0f6285c8fc2f547c00dd7a3703dea47c000000000%?00e047c0f6285c8fc2d547c00dd7a3703dca47c00000000000%?c047c0f6285c8fc2b547c00dd7a3703daa47c00000000000a0%?47c0f6285c8fc29547c00dd7a3703d8a47c000000000008047%?c0f6285c8fc27547c00dd7a3703d6a47c000000000006047c0%?f6285c8fc25547c00dd7a3703d4a47c000000000004047c0f6%?285c8fc23547c00dd7a3703d2a47c000000000002047c0f628%?5c8fc21547c00dd7a3703d0d47c000000000000047c0f6285c%?8fc2f546c00dd7a3703dea46c00000000000e046c0f6285c8f%?c2d546c00dd7a3703dca46c00000000000c046c0f6285c8fc2%?b546c00dd7a3703daa46c00000000000a046c0f6285c8fc295%?46c00dd7a3703d8a46c000000000008046c0f6285c8fc27546%?c00dd7a3703d6a46c000000000006046c0f6285c8fc25546c0%?0dd7a3703d4a46c000000000004046c0f6285c8fc23546c00d%?d7a3703d2a46c000000000002046c0f6285c8fc21546c00dd7%?a3703d0d46c000000000000046c0f6285c8fc2f545c00dd7a3%?703dea45c00000000000e045c0f6285c8fc2d545c00dd7a370%?3dca45c00000000000c045c0f6285c8fc2b545c00dd7a3703d%?aa45c00000000000a045c0f6285c8fc29545c00dd7a3703d8a%?45c000000000008045c0f6285c8fc2b549c00dd7a3703daa49%?c00000000000a049c0f6285c8fc29549c00dd7a3703d8a49c0%?00000000008049c0f6285c8fc27549c00dd7a3703d6a49c000%?000000006049c0f6285c8fc25549c00dd7a3703d4a49c00000%?0000004049c0f6285c8fc23549c00dd7a3703d2a49c0000000%?00002049c0f6285c8fc21549c00dd7a3703d0d49c000000000%?000049c0f6285c8fc2f548c00dd7a3703dea48c00000000000%?e048c0f6285c8fc2d548c00dd7a3703dca48c00000000000c0%?48c0f6285c8fc2b548c00dd7a3703daa48c00000000000a048%?c0f6285c8fc29548c00dd7a3703d8a48c000000000008048c0%?f6285c8fc27548c00dd7a3703d6a48c000000000006048c0f6%?285c8fc25548c00dd7a3703d4a48c000000000004048c0f628%?5c8fc23548c00dd7a3703d2a48c000000000002048c0f6285c%?8fc21548c00dd7a3703d0d48c000000000000048c0f6285c8f%?c2f547c00dd7a3703dea47c00000000000e047c0f6285c8fc2%?d547c00dd7a3703dca47c00000000000c047c0f6285c8fc2b5%?47c00dd7a3703daa47c00000000000a047c0f6285c8fc29547%?c00dd7a3703d8a47c000000000008047c0f6285c8fc27547c0%?0dd7a3703d6a47c000000000006047c0f6285c8fc25547c00d%?d7a3703d4a47c000000000004047c0f6285c8fc23547c00dd7%?a3703d2a47c000000000002047c0f6285c8fc21547c00dd7a3%?703d0d47c000000000000047c0f6285c8fc2f546c00dd7a370%?3dea46c00000000000e046c0f6285c8fc2d546c00dd7a3703d%?ca46c00000000000c046c0f6285c8fc2b546c00dd7a3703daa%?46c00000000000a046c0f6285c8fc29546c00dd7a3703d8a46%?c000000000008046c0f6285c8fc27546c00dd7a3703d6a46c0%?00000000006046c0f6285c8fc25546c00dd7a3703d4a46c000%?000000004046c0f6285c8fc23546c00dd7a3703d2a46c00000%?0000002046c0f6285c8fc21546c00dd7a3703d0d46c0000000%?00000046c0f6285c8fc2f545c00dd7a3703dea45c000000000%?00e045c0f6285c8fc2d545c00dd7a3703dca45c00000000000%?c045c0f6285c8fc2b545c00dd7a3703daa45c00000000000a0%?45c0f6285c8fc29545c00dd7a3703d8a45c000000000008045%?c0f6285c8fc2b549c00dd7a3703daa49c00000000000a049c0%?f6285c8fc29549c00dd7a3703d8a49c000000000008049c0f6%?285c8fc27549c00dd7a3703d6a49c000000000006049c0f628%?5c8fc25549c00dd7a3703d4a49c000000000004049c0f6285c%?8fc23549c00dd7a3703d2a49c000000000002049c0f6285c8f%?c21549c00dd7a3703d0d49c000000000000049c0f6285c8fc2%?f548c00dd7a3703dea48c00000000000e048c0f6285c8fc2d5%?48c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548%?c00dd7a3703daa48c00000000000a048c0f6285c8fc29548c0%?0dd7a3703d8a48c000000000008048c0f6285c8fc27548c00d%?d7a3703d6a48c000000000006048c0f6285c8fc25548c00dd7%?a3703d4a48c000000000004048c0f6285c8fc23548c00dd7a3%?703d2a48c000000000002048c0f6285c8fc21548c00dd7a370%?3d0d48c000000000000048c0f6285c8fc2f547c00dd7a3703d%?ea47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca%?47c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47%?c00000000000a047c0f6285c8fc29547c00dd7a3703d8a47c0%?00000000008047c0f6285c8fc27547c00dd7a3703d6a47c000%?000000006047c0f6285c8fc25547c00dd7a3703d4a47c00000%?0000004047c0f6285c8fc23547c00dd7a3703d2a47c0000000%?00002047c0f6285c8fc21547c00dd7a3703d0d47c000000000%?000047c0f6285c8fc2f546c00dd7a3703dea46c00000000000%?e046c0f6285c8fc2d546c00dd7a3703dca46c00000000000c0%?46c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046%?c0f6285c8fc29546c00dd7a3703d8a46c000000000008046c0%?f6285c8fc27546c00dd7a3703d6a46c000000000006046c0f6%?285c8fc25546c00dd7a3703d4a46c000000000004046c0f628%?5c8fc23546c00dd7a3703d2a46c000000000002046c0f6285c%?8fc21546c00dd7a3703d0d46c000000000000046c0f6285c8f%?c2f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2%?d545c00dd7a3703dca45c00000000000c045c0f6285c8fc2b5%?45c00dd7a3703daa45c00000000000a045c0f6285c8fc29545%?c00dd7a3703d8a45c000000000008045c0f6285c8fc2b549c0%?0dd7a3703daa49c00000000000a049c0f6285c8fc29549c00d%?d7a3703d8a49c000000000008049c0f6285c8fc27549c00dd7%?a3703d6a49c000000000006049c0f6285c8fc25549c00dd7a3%?703d4a49c000000000004049c0f6285c8fc23549c00dd7a370%?3d2a49c000000000002049c0f6285c8fc21549c00dd7a3703d%?0d49c000000000000049c0f6285c8fc2f548c00dd7a3703dea%?48c00000000000e048c0f6285c8fc2d548c00dd7a3703dca48%?c00000000000c048c0f6285c8fc2b548c00dd7a3703daa48c0%?0000000000a048c0f6285c8fc29548c00dd7a3703d8a48c000%?000000008048c0f6285c8fc27548c00dd7a3703d6a48c00000%?0000006048c0f6285c8fc25548c00dd7a3703d4a48c0000000%?00004048c0f6285c8fc23548c00dd7a3703d2a48c000000000%?002048c0f6285c8fc21548c00dd7a3703d0d48c00000000000%?0048c0f6285c8fc2f547c00dd7a3703dea47c00000000000e0%?47c0f6285c8fc2d547c00dd7a3703dca47c00000000000c047%?c0f6285c8fc2b547c00dd7a3703daa47c00000000000a047c0%?f6285c8fc29547c00dd7a3703d8a47c000000000008047c0f6%?285c8fc27547c00dd7a3703d6a47c000000000006047c0f628%?5c8fc25547c00dd7a3703d4a47c000000000004047c0f6285c%?8fc23547c00dd7a3703d2a47c000000000002047c0f6285c8f%?c21547c00dd7a3703d0d47c000000000000047c0f6285c8fc2%?f546c00dd7a3703dea46c00000000000e046c0f6285c8fc2d5%?46c00dd7a3703dca46c00000000000c046c0f6285c8fc2b546%?c00dd7a3703daa46c00000000000a046c0f6285c8fc29546c0%?0dd7a3703d8a46c000000000008046c0f6285c8fc27546c00d%?d7a3703d6a46c000000000006046c0f6285c8fc25546c00dd7%?a3703d4a46c000000000004046c0f6285c8fc23546c00dd7a3%?703d2a46c000000000002046c0f6285c8fc21546c00dd7a370%?3d0d46c000000000000046c0f6285c8fc2f545c00dd7a3703d%?ea45c00000000000e045c0f6285c8fc2d545c00dd7a3703dca%?45c00000000000c045c0f6285c8fc2b545c00dd7a3703daa45%?c00000000000a045c0f6285c8fc29545c00dd7a3703d8a45c0%?00000000008045c00dd7a3703daa49c00000000000a049c0f6%?285c8fc29549c00dd7a3703d8a49c000000000008049c0f628%?5c8fc27549c00dd7a3703d6a49c000000000006049c0f6285c%?8fc25549c00dd7a3703d4a49c000000000004049c0f6285c8f%?c23549c00dd7a3703d2a49c000000000002049c0f6285c8fc2%?1549c00dd7a3703d0d49c000000000000049c0f6285c8fc2f5%?48c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548%?c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548c0%?0dd7a3703daa48c00000000000a048c0f6285c8fc29548c00d%?d7a3703d8a48c000000000008048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00000000000a049c0f6%?285c8fc29549c00dd7a3703d8a49c000000000008049c0f628%?5c8fc27549c00dd7a3703d6a49c000000000006049c0f6285c%?8fc25549c00dd7a3703d4a49c000000000004049c0f6285c8f%?c23549c00dd7a3703d2a49c000000000002049c0f6285c8fc2%?1549c00dd7a3703d0d49c000000000000049c0f6285c8fc2f5%?48c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548%?c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548c0%?0dd7a3703daa48c00000000000a048c0f6285c8fc29548c00d%?d7a3703d8a48c000000000008048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00000000000a049c0f6%?285c8fc29549c00dd7a3703d8a49c000000000008049c0f628%?5c8fc27549c00dd7a3703d6a49c000000000006049c0f6285c%?8fc25549c00dd7a3703d4a49c000000000004049c0f6285c8f%?c23549c00dd7a3703d2a49c000000000002049c0f6285c8fc2%?1549c00dd7a3703d0d49c000000000000049c0f6285c8fc2f5%?48c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548%?c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548c0%?0dd7a3703daa48c00000000000a048c0f6285c8fc29548c00d%?d7a3703d8a48c000000000008048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00000000000a049c0f6%?285c8fc29549c00dd7a3703d8a49c000000000008049c0f628%?5c8fc27549c00dd7a3703d6a49c000000000006049c0f6285c%?8fc25549c00dd7a3703d4a49c000000000004049c0f6285c8f%?c23549c00dd7a3703d2a49c000000000002049c0f6285c8fc2%?1549c00dd7a3703d0d49c000000000000049c0f6285c8fc2f5%?48c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548%?c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548c0%?0dd7a3703daa48c00000000000a048c0f6285c8fc29548c00d%?d7a3703d8a48c000000000008048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00000000000a049c0f6%?285c8fc29549c00dd7a3703d8a49c000000000008049c0f628%?5c8fc27549c00dd7a3703d6a49c000000000006049c0f6285c%?8fc25549c00dd7a3703d4a49c000000000004049c0f6285c8f%?c23549c00dd7a3703d2a49c000000000002049c0f6285c8fc2%?1549c00dd7a3703d0d49c000000000000049c0f6285c8fc2f5%?48c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548%?c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548c0%?0dd7a3703daa48c00000000000a048c0f6285c8fc29548c00d%?d7a3703d8a48c000000000008048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00000000000a049c0f6%?285c8fc29549c00dd7a3703d8a49c000000000008049c0f628%?5c8fc27549c00dd7a3703d6a49c000000000006049c0f6285c%?8fc25549c00dd7a3703d4a49c000000000004049c0f6285c8f%?c23549c00dd7a3703d2a49c000000000002049c0f6285c8fc2%?1549c00dd7a3703d0d49c000000000000049c0f6285c8fc2f5%?48c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548%?c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548c0%?0dd7a3703daa48c00000000000a048c0f6285c8fc29548c00d%?d7a3703d8a48c000000000008048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c0f6285c8fc29549c00d%?d7a3703d8a49c000000000008049c0f6285c8fc27549c00dd7%?a3703d6a49c000000000006049c0f6285c8fc25549c00dd7a3%?703d4a49c000000000004049c0f6285c8fc23549c00dd7a370%?3d2a49c000000000002049c0f6285c8fc21549c00dd7a3703d%?0d49c000000000000049c0f6285c8fc2f548c00dd7a3703dea%?48c00000000000e048c0f6285c8fc2d548c00dd7a3703dca48%?c00000000000c048c0f6285c8fc2b548c00dd7a3703daa48c0%?0000000000a048c0f6285c8fc29548c00dd7a3703d8a48c000%?000000008048c0f6285c8fc27548c00dd7a3703d6a48c00000%?0000006048c0f6285c8fc25548c00dd7a3703d4a48c0000000%?00004048c0f6285c8fc23548c00dd7a3703d2a48c000000000%?002048c0f6285c8fc21548c00dd7a3703d0d48c00000000000%?0048c0f6285c8fc2f547c00dd7a3703dea47c00000000000e0%?47c0f6285c8fc2d547c00dd7a3703dca47c00000000000c047%?c0f6285c8fc2b547c00dd7a3703daa47c00000000000a047c0%?f6285c8fc29547c00dd7a3703d8a47c000000000008047c0f6%?285c8fc27547c00dd7a3703d6a47c000000000006047c0f628%?5c8fc25547c00dd7a3703d4a47c000000000004047c0f6285c%?8fc23547c00dd7a3703d2a47c000000000002047c0f6285c8f%?c21547c00dd7a3703d0d47c000000000000047c0f6285c8fc2%?f546c00dd7a3703dea46c00000000000e046c0f6285c8fc2d5%?46c00dd7a3703dca46c00000000000c046c0f6285c8fc2b546%?c00dd7a3703daa46c00000000000a046c0f6285c8fc29546c0%?0dd7a3703d8a46c000000000008046c0f6285c8fc27546c00d%?d7a3703d6a46c000000000006046c0f6285c8fc25546c00dd7%?a3703d4a46c000000000004046c0f6285c8fc23546c00dd7a3%?703d2a46c000000000002046c0f6285c8fc21546c00dd7a370%?3d0d46c000000000000046c0f6285c8fc2f545c00dd7a3703d%?ea45c00000000000e045c0f6285c8fc2d545c00dd7a3703dca%?45c00000000000c045c0f6285c8fc2b545c00dd7a3703daa45%?c00000000000a045c0f6285c8fc29545c00dd7a3703d8a45c0%?00000000008045c0f6285c8fc29549c00dd7a3703d8a49c000%?000000008049c0f6285c8fc27549c00dd7a3703d6a49c00000%?0000006049c0f6285c8fc25549c00dd7a3703d4a49c0000000%?00004049c0f6285c8fc23549c00dd7a3703d2a49c000000000%?002049c0f6285c8fc21549c00dd7a3703d0d49c00000000000%?0049c0f6285c8fc2f548c00dd7a3703dea48c00000000000e0%?48c0f6285c8fc2d548c00dd7a3703dca48c00000000000c048%?c0f6285c8fc2b548c00dd7a3703daa48c00000000000a048c0%?f6285c8fc29548c00dd7a3703d8a48c000000000008048c0f6%?285c8fc27548c00dd7a3703d6a48c000000000006048c0f628%?5c8fc25548c00dd7a3703d4a48c000000000004048c0f6285c%?8fc23548c00dd7a3703d2a48c000000000002048c0f6285c8f%?c21548c00dd7a3703d0d48c000000000000048c0f6285c8fc2%?f547c00dd7a3703dea47c00000000000e047c0f6285c8fc2d5%?47c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547%?c00dd7a3703daa47c00000000000a047c0f6285c8fc29547c0%?0dd7a3703d8a47c000000000008047c0f6285c8fc27547c00d%?d7a3703d6a47c000000000006047c0f6285c8fc25547c00dd7%?a3703d4a47c000000000004047c0f6285c8fc23547c00dd7a3%?703d2a47c000000000002047c0f6285c8fc21547c00dd7a370%?3d0d47c000000000000047c0f6285c8fc2f546c00dd7a3703d%?ea46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca%?46c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46%?c00000000000a046c0f6285c8fc29546c00dd7a3703d8a46c0%?00000000008046c0f6285c8fc27546c00dd7a3703d6a46c000%?000000006046c0f6285c8fc25546c00dd7a3703d4a46c00000%?0000004046c0f6285c8fc23546c00dd7a3703d2a46c0000000%?00002046c0f6285c8fc21546c00dd7a3703d0d46c000000000%?000046c0f6285c8fc2f545c00dd7a3703dea45c00000000000%?e045c0f6285c8fc2d545c00dd7a3703dca45c00000000000c0%?45c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045%?c0f6285c8fc29545c00dd7a3703d8a45c000000000008045c0%?f6285c8fc29549c00dd7a3703d8a49c000000000008049c0f6%?285c8fc27549c00dd7a3703d6a49c000000000006049c0f628%?5c8fc25549c00dd7a3703d4a49c000000000004049c0f6285c%?8fc23549c00dd7a3703d2a49c000000000002049c0f6285c8f%?c21549c00dd7a3703d0d49c000000000000049c0f6285c8fc2%?f548c00dd7a3703dea48c00000000000e048c0f6285c8fc2d5%?48c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548%?c00dd7a3703daa48c00000000000a048c0f6285c8fc29548c0%?0dd7a3703d8a48c000000000008048c0f6285c8fc27548c00d%?d7a3703d6a48c000000000006048c0f6285c8fc25548c00dd7%?a3703d4a48c000000000004048c0f6285c8fc23548c00dd7a3%?703d2a48c000000000002048c0f6285c8fc21548c00dd7a370%?3d0d48c000000000000048c0f6285c8fc2f547c00dd7a3703d%?ea47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca%?47c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47%?c00000000000a047c0f6285c8fc29547c00dd7a3703d8a47c0%?00000000008047c0f6285c8fc27547c00dd7a3703d6a47c000%?000000006047c0f6285c8fc25547c00dd7a3703d4a47c00000%?0000004047c0f6285c8fc23547c00dd7a3703d2a47c0000000%?00002047c0f6285c8fc21547c00dd7a3703d0d47c000000000%?000047c0f6285c8fc2f546c00dd7a3703dea46c00000000000%?e046c0f6285c8fc2d546c00dd7a3703dca46c00000000000c0%?46c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046%?c0f6285c8fc29546c00dd7a3703d8a46c000000000008046c0%?f6285c8fc27546c00dd7a3703d6a46c000000000006046c0f6%?285c8fc25546c00dd7a3703d4a46c000000000004046c0f628%?5c8fc23546c00dd7a3703d2a46c000000000002046c0f6285c%?8fc21546c00dd7a3703d0d46c000000000000046c0f6285c8f%?c2f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2%?d545c00dd7a3703dca45c00000000000c045c0f6285c8fc2b5%?45c00dd7a3703daa45c00000000000a045c0f6285c8fc29545%?c00dd7a3703d8a45c000000000008045c00dd7a3703d8a49c0%?00000000008049c0f6285c8fc27549c00dd7a3703d6a49c000%?000000006049c0f6285c8fc25549c00dd7a3703d4a49c00000%?0000004049c0f6285c8fc23549c00dd7a3703d2a49c0000000%?00002049c0f6285c8fc21549c00dd7a3703d0d49c000000000%?000049c0f6285c8fc2f548c00dd7a3703dea48c00000000000%?e048c0f6285c8fc2d548c00dd7a3703dca48c00000000000c0%?48c0f6285c8fc2b548c00dd7a3703daa48c00000000000a048%?c0f6285c8fc29548c00dd7a3703d8a48c000000000008048c0%?f6285c8fc27548c00dd7a3703d6a48c000000000006048c0f6%?285c8fc25548c00dd7a3703d4a48c000000000004048c0f628%?5c8fc23548c00dd7a3703d2a48c000000000002048c0f6285c%?8fc21548c00dd7a3703d0d48c000000000000048c0f6285c8f%?c2f547c00dd7a3703dea47c00000000000e047c0f6285c8fc2%?d547c00dd7a3703dca47c00000000000c047c0f6285c8fc2b5%?47c00dd7a3703daa47c00000000000a047c0f6285c8fc29547%?c00dd7a3703d8a47c000000000008047c0f6285c8fc27547c0%?0dd7a3703d6a47c000000000006047c0f6285c8fc25547c00d%?d7a3703d4a47c000000000004047c0f6285c8fc23547c00dd7%?a3703d2a47c000000000002047c0f6285c8fc21547c00dd7a3%?703d0d47c000000000000047c0f6285c8fc2f546c00dd7a370%?3dea46c00000000000e046c0f6285c8fc2d546c00dd7a3703d%?ca46c00000000000c046c0f6285c8fc2b546c00dd7a3703daa%?46c00000000000a046c0f6285c8fc29546c00dd7a3703d8a46%?c000000000008046c0f6285c8fc27546c00dd7a3703d6a46c0%?00000000006046c0f6285c8fc25546c00dd7a3703d4a46c000%?000000004046c0f6285c8fc23546c00dd7a3703d2a46c00000%?0000002046c0f6285c8fc21546c00dd7a3703d0d46c0000000%?00000046c0f6285c8fc2f545c00dd7a3703dea45c000000000%?00e045c0f6285c8fc2d545c00dd7a3703dca45c00000000000%?c045c0f6285c8fc2b545c00dd7a3703daa45c00000000000a0%?45c0f6285c8fc29545c00dd7a3703d8a45c000000000008045%?c00dd7a3703d8a49c000000000008049c0f6285c8fc27549c0%?0dd7a3703d6a49c000000000006049c0f6285c8fc25549c00d%?d7a3703d4a49c000000000004049c0f6285c8fc23549c00dd7%?a3703d2a49c000000000002049c0f6285c8fc21549c00dd7a3%?703d0d49c000000000000049c0f6285c8fc2f548c00dd7a370%?3dea48c00000000000e048c0f6285c8fc2d548c00dd7a3703d%?ca48c00000000000c048c0f6285c8fc2b548c00dd7a3703daa%?48c00000000000a048c0f6285c8fc29548c00dd7a3703d8a48%?c000000000008048c0f6285c8fc27548c00dd7a3703d6a48c0%?00000000006048c0f6285c8fc25548c00dd7a3703d4a48c000%?000000004048c0f6285c8fc23548c00dd7a3703d2a48c00000%?0000002048c0f6285c8fc21548c00dd7a3703d0d48c0000000%?00000048c0f6285c8fc2f547c00dd7a3703dea47c000000000%?00e047c0f6285c8fc2d547c00dd7a3703dca47c00000000000%?c047c0f6285c8fc2b547c00dd7a3703daa47c00000000000a0%?47c0f6285c8fc29547c00dd7a3703d8a47c000000000008047%?c0f6285c8fc27547c00dd7a3703d6a47c000000000006047c0%?f6285c8fc25547c00dd7a3703d4a47c000000000004047c0f6%?285c8fc23547c00dd7a3703d2a47c000000000002047c0f628%?5c8fc21547c00dd7a3703d0d47c000000000000047c0f6285c%?8fc2f546c00dd7a3703dea46c00000000000e046c0f6285c8f%?c2d546c00dd7a3703dca46c00000000000c046c0f6285c8fc2%?b546c00dd7a3703daa46c00000000000a046c0f6285c8fc295%?46c00dd7a3703d8a46c000000000008046c0f6285c8fc27546%?c00dd7a3703d6a46c000000000006046c0f6285c8fc25546c0%?0dd7a3703d4a46c000000000004046c0f6285c8fc23546c00d%?d7a3703d2a46c000000000002046c0f6285c8fc21546c00dd7%?a3703d0d46c000000000000046c0f6285c8fc2f545c00dd7a3%?703dea45c00000000000e045c0f6285c8fc2d545c00dd7a370%?3dca45c00000000000c045c0f6285c8fc2b545c00dd7a3703d%?aa45c00000000000a045c0f6285c8fc29545c00dd7a3703d8a%?45c000000000008045c00dd7a3703d8a49c000000000008049%?c0f6285c8fc27549c00dd7a3703d6a49c000000000006049c0%?f6285c8fc25549c00dd7a3703d4a49c000000000004049c0f6%?285c8fc23549c00dd7a3703d2a49c000000000002049c0f628%?5c8fc21549c00dd7a3703d0d49c000000000000049c0f6285c%?8fc2f548c00dd7a3703dea48c00000000000e048c0f6285c8f%?c2d548c00dd7a3703dca48c00000000000c048c0f6285c8fc2%?b548c00dd7a3703daa48c00000000000a048c0f6285c8fc295%?48c00dd7a3703d8a48c000000000008048c0f6285c8fc27548%?c00dd7a3703d6a48c000000000006048c0f6285c8fc25548c0%?0dd7a3703d4a48c000000000004048c0f6285c8fc23548c00d%?d7a3703d2a48c000000000002048c0f6285c8fc21548c00dd7%?a3703d0d48c000000000000048c0f6285c8fc2f547c00dd7a3%?703dea47c00000000000e047c0f6285c8fc2d547c00dd7a370%?3dca47c00000000000c047c0f6285c8fc2b547c00dd7a3703d%?aa47c00000000000a047c0f6285c8fc29547c00dd7a3703d8a%?47c000000000008047c0f6285c8fc27547c00dd7a3703d6a47%?c000000000006047c0f6285c8fc25547c00dd7a3703d4a47c0%?00000000004047c0f6285c8fc23547c00dd7a3703d2a47c000%?000000002047c0f6285c8fc21547c00dd7a3703d0d47c00000%?0000000047c0f6285c8fc2f546c00dd7a3703dea46c0000000%?0000e046c0f6285c8fc2d546c00dd7a3703dca46c000000000%?00c046c0f6285c8fc2b546c00dd7a3703daa46c00000000000%?a046c0f6285c8fc29546c00dd7a3703d8a46c0000000000080%?46c0f6285c8fc27546c00dd7a3703d6a46c000000000006046%?c0f6285c8fc25546c00dd7a3703d4a46c000000000004046c0%?f6285c8fc23546c00dd7a3703d2a46c000000000002046c0f6%?285c8fc21546c00dd7a3703d0d46c000000000000046c0f628%?5c8fc2f545c00dd7a3703dea45c00000000000e045c0f6285c%?8fc2d545c00dd7a3703dca45c00000000000c045c0f6285c8f%?c2b545c00dd7a3703daa45c00000000000a045c0f6285c8fc2%?9545c00dd7a3703d8a45c000000000008045c00dd7a3703d8a%?49c000000000008049c0f6285c8fc27549c00dd7a3703d6a49%?c000000000006049c0f6285c8fc25549c00dd7a3703d4a49c0%?00000000004049c0f6285c8fc23549c00dd7a3703d2a49c000%?000000002049c0f6285c8fc21549c00dd7a3703d0d49c00000%?0000000049c0f6285c8fc2f548c00dd7a3703dea48c0000000%?0000e048c0f6285c8fc2d548c00dd7a3703dca48c000000000%?00c048c0f6285c8fc2b548c00dd7a3703daa48c00000000000%?a048c0f6285c8fc29548c00dd7a3703d8a48c0000000000080%?48c0f6285c8fc27548c00dd7a3703d6a48c000000000006048%?c0f6285c8fc25548c00dd7a3703d4a48c000000000004048c0%?f6285c8fc23548c00dd7a3703d2a48c000000000002048c0f6%?285c8fc21548c00dd7a3703d0d48c000000000000048c0f628%?5c8fc2f547c00dd7a3703dea47c00000000000e047c0f6285c%?8fc2d547c00dd7a3703dca47c00000000000c047c0f6285c8f%?c2b547c00dd7a3703daa47c00000000000a047c0f6285c8fc2%?9547c00dd7a3703d8a47c000000000008047c0f6285c8fc275%?47c00dd7a3703d6a47c000000000006047c0f6285c8fc25547%?c00dd7a3703d4a47c000000000004047c0f6285c8fc23547c0%?0dd7a3703d2a47c000000000002047c0f6285c8fc21547c00d%?d7a3703d0d47c000000000000047c0f6285c8fc2f546c00dd7%?a3703dea46c00000000000e046c0f6285c8fc2d546c00dd7a3%?703dca46c00000000000c046c0f6285c8fc2b546c00dd7a370%?3daa46c00000000000a046c0f6285c8fc29546c00dd7a3703d%?8a46c000000000008046c0f6285c8fc27546c00dd7a3703d6a%?46c000000000006046c0f6285c8fc25546c00dd7a3703d4a46%?c000000000004046c0f6285c8fc23546c00dd7a3703d2a46c0%?00000000002046c0f6285c8fc21546c00dd7a3703d0d46c000%?000000000046c0f6285c8fc2f545c00dd7a3703dea45c00000%?000000e045c0f6285c8fc2d545c00dd7a3703dca45c0000000%?0000c045c0f6285c8fc2b545c00dd7a3703daa45c000000000%?00a045c0f6285c8fc29545c00dd7a3703d8a45c00000000000%?8045c00dd7a3703d8a49c000000000008049c0f6285c8fc275%?49c00dd7a3703d6a49c000000000006049c0f6285c8fc25549%?c00dd7a3703d4a49c000000000004049c0f6285c8fc23549c0%?0dd7a3703d2a49c000000000002049c0f6285c8fc21549c00d%?d7a3703d0d49c000000000000049c0f6285c8fc2f548c00dd7%?a3703dea48c00000000000e048c0f6285c8fc2d548c00dd7a3%?703dca48c00000000000c048c0f6285c8fc2b548c00dd7a370%?3daa48c00000000000a048c0f6285c8fc29548c00dd7a3703d%?8a48c000000000008048c0f6285c8fc27548c00dd7a3703d6a%?48c000000000006048c0f6285c8fc25548c00dd7a3703d4a48%?c000000000004048c0f6285c8fc23548c00dd7a3703d2a48c0%?00000000002048c0f6285c8fc21548c00dd7a3703d0d48c000%?000000000048c0f6285c8fc2f547c00dd7a3703dea47c00000%?000000e047c0f6285c8fc2d547c00dd7a3703dca47c0000000%?0000c047c0f6285c8fc2b547c00dd7a3703daa47c000000000%?00a047c0f6285c8fc29547c00dd7a3703d8a47c00000000000%?8047c0f6285c8fc27547c00dd7a3703d6a47c0000000000060%?47c0f6285c8fc25547c00dd7a3703d4a47c000000000004047%?c0f6285c8fc23547c00dd7a3703d2a47c000000000002047c0%?f6285c8fc21547c00dd7a3703d0d47c000000000000047c0f6%?285c8fc2f546c00dd7a3703dea46c00000000000e046c0f628%?5c8fc2d546c00dd7a3703dca46c00000000000c046c0f6285c%?8fc2b546c00dd7a3703daa46c00000000000a046c0f6285c8f%?c29546c00dd7a3703d8a46c000000000008046c0f6285c8fc2%?7546c00dd7a3703d6a46c000000000006046c0f6285c8fc255%?46c00dd7a3703d4a46c000000000004046c0f6285c8fc23546%?c00dd7a3703d2a46c000000000002046c0f6285c8fc21546c0%?0dd7a3703d0d46c000000000000046c0f6285c8fc2f545c00d%?d7a3703dea45c00000000000e045c0f6285c8fc2d545c00dd7%?a3703dca45c00000000000c045c0f6285c8fc2b545c00dd7a3%?703daa45c00000000000a045c0f6285c8fc29545c00dd7a370%?3d8a45c000000000008045c0f6285c8fc27549c00dd7a3703d%?6a49c000000000006049c0f6285c8fc25549c00dd7a3703d4a%?49c000000000004049c0f6285c8fc23549c00dd7a3703d2a49%?c000000000002049c0f6285c8fc21549c00dd7a3703d0d49c0%?00000000000049c0f6285c8fc2f548c00dd7a3703dea48c000%?00000000e048c0f6285c8fc2d548c00dd7a3703dca48c00000%?000000c048c0f6285c8fc2b548c00dd7a3703daa48c0000000%?0000a048c0f6285c8fc29548c00dd7a3703d8a48c000000000%?008048c0f6285c8fc27548c00dd7a3703d6a48c00000000000%?6048c0f6285c8fc25548c00dd7a3703d4a48c0000000000040%?48c0f6285c8fc23548c00dd7a3703d2a48c000000000002048%?c0f6285c8fc21548c00dd7a3703d0d48c000000000000048c0%?f6285c8fc2f547c00dd7a3703dea47c00000000000e047c0f6%?285c8fc2d547c00dd7a3703dca47c00000000000c047c0f628%?5c8fc2b547c00dd7a3703daa47c00000000000a047c0f6285c%?8fc29547c00dd7a3703d8a47c000000000008047c0f6285c8f%?c27547c00dd7a3703d6a47c000000000006047c0f6285c8fc2%?5547c00dd7a3703d4a47c000000000004047c0f6285c8fc235%?47c00dd7a3703d2a47c000000000002047c0f6285c8fc21547%?c00dd7a3703d0d47c000000000000047c0f6285c8fc2f546c0%?0dd7a3703dea46c00000000000e046c0f6285c8fc2d546c00d%?d7a3703dca46c00000000000c046c0f6285c8fc2b546c00dd7%?a3703daa46c00000000000a046c0f6285c8fc29546c00dd7a3%?703d8a46c000000000008046c0f6285c8fc27546c00dd7a370%?3d6a46c000000000006046c0f6285c8fc25546c00dd7a3703d%?4a46c000000000004046c0f6285c8fc23546c00dd7a3703d2a%?46c000000000002046c0f6285c8fc21546c00dd7a3703d0d46%?c000000000000046c0f6285c8fc2f545c00dd7a3703dea45c0%?0000000000e045c0f6285c8fc2d545c00dd7a3703dca45c000%?00000000c045c0f6285c8fc2b545c00dd7a3703daa45c00000%?000000a045c0f6285c8fc29545c00dd7a3703d8a45c0000000%?00008045c000000000008049c0f6285c8fc27549c00dd7a370%?3d6a49c000000000006049c0f6285c8fc25549c00dd7a3703d%?4a49c000000000004049c0f6285c8fc23549c00dd7a3703d2a%?49c000000000002049c0f6285c8fc21549c00dd7a3703d0d49%?c000000000000049c0f6285c8fc2f548c00dd7a3703dea48c0%?0000000000e048c0f6285c8fc2d548c00dd7a3703dca48c000%?00000000c048c0f6285c8fc2b548c00dd7a3703daa48c00000%?000000a048c0f6285c8fc29548c00dd7a3703d8a48c0000000%?00008048c0f6285c8fc27548c00dd7a3703d6a48c000000000%?006048c0f6285c8fc25548c00dd7a3703d4a48c00000000000%?4048c0f6285c8fc23548c00dd7a3703d2a48c0000000000020%?48c0f6285c8fc21548c00dd7a3703d0d48c000000000000048%?c0f6285c8fc2f547c00dd7a3703dea47c00000000000e047c0%?f6285c8fc2d547c00dd7a3703dca47c00000000000c047c0f6%?285c8fc2b547c00dd7a3703daa47c00000000000a047c0f628%?5c8fc29547c00dd7a3703d8a47c000000000008047c0f6285c%?8fc27547c00dd7a3703d6a47c000000000006047c0f6285c8f%?c25547c00dd7a3703d4a47c000000000004047c0f6285c8fc2%?3547c00dd7a3703d2a47c000000000002047c0f6285c8fc215%?47c00dd7a3703d0d47c000000000000047c0f6285c8fc2f546%?c00dd7a3703dea46c00000000000e046c0f6285c8fc2d546c0%?0dd7a3703dca46c00000000000c046c0f6285c8fc2b546c00d%?d7a3703daa46c00000000000a046c0f6285c8fc29546c00dd7%?a3703d8a46c000000000008046c0f6285c8fc27546c00dd7a3%?703d6a46c000000000006046c0f6285c8fc25546c00dd7a370%?3d4a46c000000000004046c0f6285c8fc23546c00dd7a3703d%?2a46c000000000002046c0f6285c8fc21546c00dd7a3703d0d%?46c000000000000046c0f6285c8fc2f545c00dd7a3703dea45%?c00000000000e045c0f6285c8fc2d545c00dd7a3703dca45c0%?0000000000c045c0f6285c8fc2b545c00dd7a3703daa45c000%?00000000a045c0f6285c8fc29545c00dd7a3703d8a45c00000%?0000008045c0f6285c8fc27549c00dd7a3703d6a49c0000000%?00006049c0f6285c8fc25549c00dd7a3703d4a49c000000000%?004049c0f6285c8fc23549c00dd7a3703d2a49c00000000000%?2049c0f6285c8fc21549c00dd7a3703d0d49c0000000000000%?49c0f6285c8fc2f548c00dd7a3703dea48c00000000000e048%?c0f6285c8fc2d548c00dd7a3703dca48c00000000000c048c0%?f6285c8fc2b548c00dd7a3703daa48c00000000000a048c0f6%?285c8fc29548c00dd7a3703d8a48c000000000008048c0f628%?5c8fc27548c00dd7a3703d6a48c000000000006048c0f6285c%?8fc25548c00dd7a3703d4a48c000000000004048c0f6285c8f%?c23548c00dd7a3703d2a48c000000000002048c0f6285c8fc2%?1548c00dd7a3703d0d48c000000000000048c0f6285c8fc2f5%?47c00dd7a3703dea47c00000000000e047c0f6285c8fc2d547%?c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547c0%?0dd7a3703daa47c00000000000a047c0f6285c8fc29547c00d%?d7a3703d8a47c000000000008047c0f6285c8fc27547c00dd7%?a3703d6a47c000000000006047c0f6285c8fc25547c00dd7a3%?703d4a47c000000000004047c0f6285c8fc23547c00dd7a370%?3d2a47c000000000002047c0f6285c8fc21547c00dd7a3703d%?0d47c000000000000047c0f6285c8fc2f546c00dd7a3703dea%?46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca46%?c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46c0%?0000000000a046c0f6285c8fc29546c00dd7a3703d8a46c000%?000000008046c0f6285c8fc27546c00dd7a3703d6a46c00000%?0000006046c0f6285c8fc25546c00dd7a3703d4a46c0000000%?00004046c0f6285c8fc23546c00dd7a3703d2a46c000000000%?002046c0f6285c8fc21546c00dd7a3703d0d46c00000000000%?0046c0f6285c8fc2f545c00dd7a3703dea45c00000000000e0%?45c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045%?c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0%?f6285c8fc29545c00dd7a3703d8a45c000000000008045c0f6%?285c8fc27549c00dd7a3703d6a49c000000000006049c0f628%?5c8fc25549c00dd7a3703d4a49c000000000004049c0f6285c%?8fc23549c00dd7a3703d2a49c000000000002049c0f6285c8f%?c21549c00dd7a3703d0d49c000000000000049c0f6285c8fc2%?f548c00dd7a3703dea48c00000000000e048c0f6285c8fc2d5%?48c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548%?c00dd7a3703daa48c00000000000a048c0f6285c8fc29548c0%?0dd7a3703d8a48c000000000008048c0f6285c8fc27548c00d%?d7a3703d6a48c000000000006048c0f6285c8fc25548c00dd7%?a3703d4a48c000000000004048c0f6285c8fc23548c00dd7a3%?703d2a48c000000000002048c0f6285c8fc21548c00dd7a370%?3d0d48c000000000000048c0f6285c8fc2f547c00dd7a3703d%?ea47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca%?47c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47%?c00000000000a047c0f6285c8fc29547c00dd7a3703d8a47c0%?00000000008047c0f6285c8fc27547c00dd7a3703d6a47c000%?000000006047c0f6285c8fc25547c00dd7a3703d4a47c00000%?0000004047c0f6285c8fc23547c00dd7a3703d2a47c0000000%?00002047c0f6285c8fc21547c00dd7a3703d0d47c000000000%?000047c0f6285c8fc2f546c00dd7a3703dea46c00000000000%?e046c0f6285c8fc2d546c00dd7a3703dca46c00000000000c0%?46c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046%?c0f6285c8fc29546c00dd7a3703d8a46c000000000008046c0%?f6285c8fc27546c00dd7a3703d6a46c000000000006046c0f6%?285c8fc25546c00dd7a3703d4a46c000000000004046c0f628%?5c8fc23546c00dd7a3703d2a46c000000000002046c0f6285c%?8fc21546c00dd7a3703d0d46c000000000000046c0f6285c8f%?c2f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2%?d545c00dd7a3703dca45c00000000000c045c0f6285c8fc2b5%?45c00dd7a3703daa45c00000000000a045c0f6285c8fc29545%?c00dd7a3703d8a45c000000000008045c0f6285c8fc27549c0%?0dd7a3703d6a49c000000000006049c0f6285c8fc25549c00d%?d7a3703d4a49c000000000004049c0f6285c8fc23549c00dd7%?a3703d2a49c000000000002049c0f6285c8fc21549c00dd7a3%?703d0d49c000000000000049c0f6285c8fc2f548c00dd7a370%?3dea48c00000000000e048c0f6285c8fc2d548c00dd7a3703d%?ca48c00000000000c048c0f6285c8fc2b548c00dd7a3703daa%?48c00000000000a048c0f6285c8fc29548c00dd7a3703d8a48%?c000000000008048c0f6285c8fc27548c00dd7a3703d6a48c0%?00000000006048c0f6285c8fc25548c00dd7a3703d4a48c000%?000000004048c0f6285c8fc23548c00dd7a3703d2a48c00000%?0000002048c0f6285c8fc21548c00dd7a3703d0d48c0000000%?00000048c0f6285c8fc2f547c00dd7a3703dea47c000000000%?00e047c0f6285c8fc2d547c00dd7a3703dca47c00000000000%?c047c0f6285c8fc2b547c00dd7a3703daa47c00000000000a0%?47c0f6285c8fc29547c00dd7a3703d8a47c000000000008047%?c0f6285c8fc27547c00dd7a3703d6a47c000000000006047c0%?f6285c8fc25547c00dd7a3703d4a47c000000000004047c0f6%?285c8fc23547c00dd7a3703d2a47c000000000002047c0f628%?5c8fc21547c00dd7a3703d0d47c000000000000047c0f6285c%?8fc2f546c00dd7a3703dea46c00000000000e046c0f6285c8f%?c2d546c00dd7a3703dca46c00000000000c046c0f6285c8fc2%?b546c00dd7a3703daa46c00000000000a046c0f6285c8fc295%?46c00dd7a3703d8a46c000000000008046c0f6285c8fc27546%?c00dd7a3703d6a46c000000000006046c0f6285c8fc25546c0%?0dd7a3703d4a46c000000000004046c0f6285c8fc23546c00d%?d7a3703d2a46c000000000002046c0f6285c8fc21546c00dd7%?a3703d0d46c000000000000046c0f6285c8fc2f545c00dd7a3%?703dea45c00000000000e045c0f6285c8fc2d545c00dd7a370%?3dca45c00000000000c045c0f6285c8fc2b545c00dd7a3703d%?aa45c00000000000a045c0f6285c8fc29545c00dd7a3703d8a%?45c000000000008045c0f6285c8fc27549c00dd7a3703d6a49%?c000000000006049c0f6285c8fc25549c00dd7a3703d4a49c0%?00000000004049c0f6285c8fc23549c00dd7a3703d2a49c000%?000000002049c0f6285c8fc21549c00dd7a3703d0d49c00000%?0000000049c0f6285c8fc2f548c00dd7a3703dea48c0000000%?0000e048c0f6285c8fc2d548c00dd7a3703dca48c000000000%?00c048c0f6285c8fc2b548c00dd7a3703daa48c00000000000%?a048c0f6285c8fc29548c00dd7a3703d8a48c0000000000080%?48c0f6285c8fc27548c00dd7a3703d6a48c000000000006048%?c0f6285c8fc25548c00dd7a3703d4a48c000000000004048c0%?f6285c8fc23548c00dd7a3703d2a48c000000000002048c0f6%?285c8fc21548c00dd7a3703d0d48c000000000000048c0f628%?5c8fc2f547c00dd7a3703dea47c00000000000e047c0f6285c%?8fc2d547c00dd7a3703dca47c00000000000c047c0f6285c8f%?c2b547c00dd7a3703daa47c00000000000a047c0f6285c8fc2%?9547c00dd7a3703d8a47c000000000008047c0f6285c8fc275%?47c00dd7a3703d6a47c000000000006047c0f6285c8fc25547%?c00dd7a3703d4a47c000000000004047c0f6285c8fc23547c0%?0dd7a3703d2a47c000000000002047c0f6285c8fc21547c00d%?d7a3703d0d47c000000000000047c0f6285c8fc2f546c00dd7%?a3703dea46c00000000000e046c0f6285c8fc2d546c00dd7a3%?703dca46c00000000000c046c0f6285c8fc2b546c00dd7a370%?3daa46c00000000000a046c0f6285c8fc29546c00dd7a3703d%?8a46c000000000008046c0f6285c8fc27546c00dd7a3703d6a%?46c000000000006046c0f6285c8fc25546c00dd7a3703d4a46%?c000000000004046c0f6285c8fc23546c00dd7a3703d2a46c0%?00000000002046c0f6285c8fc21546c00dd7a3703d0d46c000%?000000000046c0f6285c8fc2f545c00dd7a3703dea45c00000%?000000e045c0f6285c8fc2d545c00dd7a3703dca45c0000000%?0000c045c0f6285c8fc2b545c00dd7a3703daa45c000000000%?00a045c0f6285c8fc29545c00dd7a3703d8a45c00000000000%?8045c0f6285c8fc27549c00dd7a3703d6a49c0000000000060%?49c0f6285c8fc25549c00dd7a3703d4a49c000000000004049%?c0f6285c8fc23549c00dd7a3703d2a49c000000000002049c0%?f6285c8fc21549c00dd7a3703d0d49c000000000000049c0f6%?285c8fc2f548c00dd7a3703dea48c00000000000e048c0f628%?5c8fc2d548c00dd7a3703dca48c00000000000c048c0f6285c%?8fc2b548c00dd7a3703daa48c00000000000a048c0f6285c8f%?c29548c00dd7a3703d8a48c000000000008048c0f6285c8fc2%?7548c00dd7a3703d6a48c000000000006048c0f6285c8fc255%?48c00dd7a3703d4a48c000000000004048c0f6285c8fc23548%?c00dd7a3703d2a48c000000000002048c0f6285c8fc21548c0%?0dd7a3703d0d48c000000000000048c0f6285c8fc2f547c00d%?d7a3703dea47c00000000000e047c0f6285c8fc2d547c00dd7%?a3703dca47c00000000000c047c0f6285c8fc2b547c00dd7a3%?703daa47c00000000000a047c0f6285c8fc29547c00dd7a370%?3d8a47c000000000008047c0f6285c8fc27547c00dd7a3703d%?6a47c000000000006047c0f6285c8fc25547c00dd7a3703d4a%?47c000000000004047c0f6285c8fc23547c00dd7a3703d2a47%?c000000000002047c0f6285c8fc21547c00dd7a3703d0d47c0%?00000000000047c0f6285c8fc2f546c00dd7a3703dea46c000%?00000000e046c0f6285c8fc2d546c00dd7a3703dca46c00000%?000000c046c0f6285c8fc2b546c00dd7a3703daa46c0000000%?0000a046c0f6285c8fc29546c00dd7a3703d8a46c000000000%?008046c0f6285c8fc27546c00dd7a3703d6a46c00000000000%?6046c0f6285c8fc25546c00dd7a3703d4a46c0000000000040%?46c0f6285c8fc23546c00dd7a3703d2a46c000000000002046%?c0f6285c8fc21546c00dd7a3703d0d46c000000000000046c0%?f6285c8fc2f545c00dd7a3703dea45c00000000000e045c0f6%?285c8fc2d545c00dd7a3703dca45c00000000000c045c0f628%?5c8fc2b545c00dd7a3703daa45c00000000000a045c0f6285c%?8fc29545c00dd7a3703d8a45c000000000008045c00dd7a370%?3d8a49c000000000008049c0f6285c8fc27549c00dd7a3703d%?6a49c000000000006049c0f6285c8fc25549c00dd7a3703d4a%?49c000000000004049c0f6285c8fc23549c00dd7a3703d2a49%?c000000000002049c0f6285c8fc21549c00dd7a3703d0d49c0%?00000000000049c0f6285c8fc2f548c00dd7a3703dea48c000%?00000000e048c0f6285c8fc2d548c00dd7a3703dca48c00000%?000000c048c0f6285c8fc2b548c00dd7a3703daa48c0000000%?0000a048c0f6285c8fc29548c00dd7a3703d8a48c000000000%?008048c0f6285c8fc27548c00dd7a3703d6a48c00000000000%?6048c0f6285c8fc25548c00dd7a3703d4a48c0000000000040%?48c0f6285c8fc23548c00dd7a3703d2a48c000000000002048%?c0f6285c8fc21548c00dd7a3703d0d48c000000000000048c0%?f6285c8fc2f547c00dd7a3703dea47c00000000000e047c0f6%?285c8fc2d547c00dd7a3703dca47c00000000000c047c0f628%?5c8fc2b547c00dd7a3703daa47c00000000000a047c0f6285c%?8fc29547c00dd7a3703d8a47c000000000008047c0f6285c8f%?c27547c00dd7a3703d6a47c000000000006047c0f6285c8fc2%?5547c00dd7a3703d4a47c000000000004047c0f6285c8fc235%?47c00dd7a3703d2a47c000000000002047c0f6285c8fc21547%?c00dd7a3703d0d47c000000000000047c0f6285c8fc2f546c0%?0dd7a3703dea46c00000000000e046c0f6285c8fc2d546c00d%?d7a3703dca46c00000000000c046c0f6285c8fc2b546c00dd7%?a3703daa46c00000000000a046c0f6285c8fc29546c00dd7a3%?703d8a46c000000000008046c0f6285c8fc27546c00dd7a370%?3d6a46c000000000006046c0f6285c8fc25546c00dd7a3703d%?4a46c000000000004046c0f6285c8fc23546c00dd7a3703d2a%?46c000000000002046c0f6285c8fc21546c00dd7a3703d0d46%?c000000000000046c0f6285c8fc2f545c00dd7a3703dea45c0%?0000000000e045c0f6285c8fc2d545c00dd7a3703dca45c000%?00000000c045c0f6285c8fc2b545c00dd7a3703daa45c00000%?000000a045c0f6285c8fc29545c00dd7a3703d8a45c0000000%?00008045c00dd7a3703d8a49c000000000008049c0f6285c8f%?c27549c0f6285c8fc25549c00dd7a3703d4a49c00000000000%?4049c0f6285c8fc23549c00dd7a3703d2a49c0000000000020%?49c0f6285c8fc21549c00dd7a3703d0d49c000000000000049%?c0f6285c8fc2f548c00dd7a3703dea48c00000000000e048c0%?f6285c8fc2d548c00dd7a3703dca48c00000000000c048c0f6%?285c8fc2b548c00dd7a3703daa48c00000000000a048c0f628%?5c8fc29548c00dd7a3703d8a48c000000000008048c0f6285c%?8fc27548c00dd7a3703d6a48c000000000006048c0f6285c8f%?c25548c00dd7a3703d4a48c000000000004048c0f6285c8fc2%?3548c00dd7a3703d2a48c000000000002048c0f6285c8fc215%?48c00dd7a3703d0d48c000000000000048c0f6285c8fc2f547%?c00dd7a3703dea47c00000000000e047c0f6285c8fc2d547c0%?0dd7a3703dca47c00000000000c047c0f6285c8fc2b547c00d%?d7a3703daa47c00000000000a047c0f6285c8fc29547c00dd7%?a3703d8a47c000000000008047c0f6285c8fc27547c00dd7a3%?703d6a47c000000000006047c0f6285c8fc25547c00dd7a370%?3d4a47c000000000004047c0f6285c8fc23547c00dd7a3703d%?2a47c000000000002047c0f6285c8fc21547c00dd7a3703d0d%?47c000000000000047c0f6285c8fc2f546c00dd7a3703dea46%?c00000000000e046c0f6285c8fc2d546c00dd7a3703dca46c0%?0000000000c046c0f6285c8fc2b546c00dd7a3703daa46c000%?00000000a046c0f6285c8fc29546c00dd7a3703d8a46c00000%?0000008046c0f6285c8fc27546c00dd7a3703d6a46c0000000%?00006046c0f6285c8fc25546c00dd7a3703d4a46c000000000%?004046c0f6285c8fc23546c00dd7a3703d2a46c00000000000%?2046c0f6285c8fc21546c00dd7a3703d0d46c0000000000000%?46c0f6285c8fc2f545c00dd7a3703dea45c00000000000e045%?c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045c0%?f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0f6%?285c8fc29545c00dd7a3703d8a45c000000000008045c00dd7%?a3703d8a49c000000000008049c0f6285c8fc27549c00dd7a3%?703d4a49c000000000004049c0f6285c8fc23549c00dd7a370%?3d2a49c000000000002049c0f6285c8fc21549c00dd7a3703d%?0d49c000000000000049c0f6285c8fc2f548c00dd7a3703dea%?48c00000000000e048c0f6285c8fc2d548c00dd7a3703dca48%?c00000000000c048c0f6285c8fc2b548c00dd7a3703daa48c0%?0000000000a048c0f6285c8fc29548c00dd7a3703d8a48c000%?000000008048c0f6285c8fc27548c00dd7a3703d6a48c00000%?0000006048c0f6285c8fc25548c00dd7a3703d4a48c0000000%?00004048c0f6285c8fc23548c00dd7a3703d2a48c000000000%?002048c0f6285c8fc21548c00dd7a3703d0d48c00000000000%?0048c0f6285c8fc2f547c00dd7a3703dea47c00000000000e0%?47c0f6285c8fc2d547c00dd7a3703dca47c00000000000c047%?c0f6285c8fc2b547c00dd7a3703daa47c00000000000a047c0%?f6285c8fc29547c00dd7a3703d8a47c000000000008047c0f6%?285c8fc27547c00dd7a3703d6a47c000000000006047c0f628%?5c8fc25547c00dd7a3703d4a47c000000000004047c0f6285c%?8fc23547c00dd7a3703d2a47c000000000002047c0f6285c8f%?c21547c00dd7a3703d0d47c000000000000047c0f6285c8fc2%?f546c00dd7a3703dea46c00000000000e046c0f6285c8fc2d5%?46c00dd7a3703dca46c00000000000c046c0f6285c8fc2b546%?c00dd7a3703daa46c00000000000a046c0f6285c8fc29546c0%?0dd7a3703d8a46c000000000008046c0f6285c8fc27546c00d%?d7a3703d6a46c000000000006046c0f6285c8fc25546c00dd7%?a3703d4a46c000000000004046c0f6285c8fc23546c00dd7a3%?703d2a46c000000000002046c0f6285c8fc21546c00dd7a370%?3d0d46c000000000000046c0f6285c8fc2f545c00dd7a3703d%?ea45c00000000000e045c0f6285c8fc2d545c00dd7a3703dca%?45c00000000000c045c0f6285c8fc2b545c00dd7a3703daa45%?c00000000000a045c0f6285c8fc29545c00dd7a3703d8a45c0%?00000000008045c00dd7a3703d8a49c000000000008049c0f6%?285c8fc27549c0f6285c8fc23549c00dd7a3703d2a49c00000%?0000002049c0f6285c8fc21549c00dd7a3703d0d49c0000000%?00000049c0f6285c8fc2f548c00dd7a3703dea48c000000000%?00e048c0f6285c8fc2d548c00dd7a3703dca48c00000000000%?c048c0f6285c8fc2b548c00dd7a3703daa48c00000000000a0%?48c0f6285c8fc29548c00dd7a3703d8a48c000000000008048%?c0f6285c8fc27548c00dd7a3703d6a48c000000000006048c0%?f6285c8fc25548c00dd7a3703d4a48c000000000004048c0f6%?285c8fc23548c00dd7a3703d2a48c000000000002048c0f628%?5c8fc21548c00dd7a3703d0d48c000000000000048c0f6285c%?8fc2f547c00dd7a3703dea47c00000000000e047c0f6285c8f%?c2d547c00dd7a3703dca47c00000000000c047c0f6285c8fc2%?b547c00dd7a3703daa47c00000000000a047c0f6285c8fc295%?47c00dd7a3703d8a47c000000000008047c0f6285c8fc27547%?c00dd7a3703d6a47c000000000006047c0f6285c8fc25547c0%?0dd7a3703d4a47c000000000004047c0f6285c8fc23547c00d%?d7a3703d2a47c000000000002047c0f6285c8fc21547c00dd7%?a3703d0d47c000000000000047c0f6285c8fc2f546c00dd7a3%?703dea46c00000000000e046c0f6285c8fc2d546c00dd7a370%?3dca46c00000000000c046c0f6285c8fc2b546c00dd7a3703d%?aa46c00000000000a046c0f6285c8fc29546c00dd7a3703d8a%?46c000000000008046c0f6285c8fc27546c00dd7a3703d6a46%?c000000000006046c0f6285c8fc25546c00dd7a3703d4a46c0%?00000000004046c0f6285c8fc23546c00dd7a3703d2a46c000%?000000002046c0f6285c8fc21546c00dd7a3703d0d46c00000%?0000000046c0f6285c8fc2f545c00dd7a3703dea45c0000000%?0000e045c0f6285c8fc2d545c00dd7a3703dca45c000000000%?00c045c0f6285c8fc2b545c00dd7a3703daa45c00000000000%?a045c0f6285c8fc29545c00dd7a3703d8a45c0000000000080%?45c00dd7a3703d8a49c000000000008049c0f6285c8fc27549%?c0f6285c8fc23549c00dd7a3703d2a49c000000000002049c0%?f6285c8fc21549c00dd7a3703d0d49c000000000000049c0f6%?285c8fc2f548c00dd7a3703dea48c00000000000e048c0f628%?5c8fc2d548c00dd7a3703dca48c00000000000c048c0f6285c%?8fc2b548c00dd7a3703daa48c00000000000a048c0f6285c8f%?c29548c00dd7a3703d8a48c000000000008048c0f6285c8fc2%?7548c00dd7a3703d6a48c000000000006048c0f6285c8fc255%?48c00dd7a3703d4a48c000000000004048c0f6285c8fc23548%?c00dd7a3703d2a48c000000000002048c0f6285c8fc21548c0%?0dd7a3703d0d48c000000000000048c0f6285c8fc2f547c00d%?d7a3703dea47c00000000000e047c0f6285c8fc2d547c00dd7%?a3703dca47c00000000000c047c0f6285c8fc2b547c00dd7a3%?703daa47c00000000000a047c0f6285c8fc29547c00dd7a370%?3d8a47c000000000008047c0f6285c8fc27547c00dd7a3703d%?6a47c000000000006047c0f6285c8fc25547c00dd7a3703d4a%?47c000000000004047c0f6285c8fc23547c00dd7a3703d2a47%?c000000000002047c0f6285c8fc21547c00dd7a3703d0d47c0%?00000000000047c0f6285c8fc2f546c00dd7a3703dea46c000%?00000000e046c0f6285c8fc2d546c00dd7a3703dca46c00000%?000000c046c0f6285c8fc2b546c00dd7a3703daa46c0000000%?0000a046c0f6285c8fc29546c00dd7a3703d8a46c000000000%?008046c0f6285c8fc27546c00dd7a3703d6a46c00000000000%?6046c0f6285c8fc25546c00dd7a3703d4a46c0000000000040%?46c0f6285c8fc23546c00dd7a3703d2a46c000000000002046%?c0f6285c8fc21546c00dd7a3703d0d46c000000000000046c0%?f6285c8fc2f545c00dd7a3703dea45c00000000000e045c0f6%?285c8fc2d545c00dd7a3703dca45c00000000000c045c0f628%?5c8fc2b545c00dd7a3703daa45c00000000000a045c0f6285c%?8fc29545c00dd7a3703d8a45c000000000008045c0f6285c8f%?c23549c00dd7a3703d2a49c000000000002049c00dd7a3703d%?0d49c000000000000049c0f6285c8fc2f548c00dd7a3703dea%?48c00000000000e048c0f6285c8fc2d548c00dd7a3703dca48%?c00000000000c048c0f6285c8fc2b548c00dd7a3703daa48c0%?0000000000a048c0f6285c8fc29548c00dd7a3703d8a48c000%?000000008048c0f6285c8fc27548c00dd7a3703d6a48c00000%?0000006048c0f6285c8fc25548c00dd7a3703d4a48c0000000%?00004048c0f6285c8fc23548c00dd7a3703d2a48c000000000%?002048c0f6285c8fc21548c00dd7a3703d0d48c00000000000%?0048c0f6285c8fc2f547c00dd7a3703dea47c00000000000e0%?47c0f6285c8fc2d547c00dd7a3703dca47c00000000000c047%?c0f6285c8fc2b547c00dd7a3703daa47c00000000000a047c0%?f6285c8fc29547c00dd7a3703d8a47c000000000008047c0f6%?285c8fc27547c00dd7a3703d6a47c000000000006047c0f628%?5c8fc25547c00dd7a3703d4a47c000000000004047c0f6285c%?8fc23547c00dd7a3703d2a47c000000000002047c0f6285c8f%?c21547c00dd7a3703d0d47c000000000000047c0f6285c8fc2%?f546c00dd7a3703dea46c00000000000e046c0f6285c8fc2d5%?46c00dd7a3703dca46c00000000000c046c0f6285c8fc2b546%?c00dd7a3703daa46c00000000000a046c0f6285c8fc29546c0%?0dd7a3703d8a46c000000000008046c0f6285c8fc27546c00d%?d7a3703d6a46c000000000006046c0f6285c8fc25546c00dd7%?a3703d4a46c000000000004046c0f6285c8fc23546c00dd7a3%?703d2a46c000000000002046c0f6285c8fc21546c00dd7a370%?3d0d46c000000000000046c0f6285c8fc2f545c00dd7a3703d%?ea45c00000000000e045c0f6285c8fc2d545c00dd7a3703dca%?45c00000000000c045c0f6285c8fc2b545c00dd7a3703daa45%?c00000000000a045c0f6285c8fc29545c00dd7a3703d8a45c0%?00000000008045c0f6285c8fc23549c00dd7a3703d2a49c000%?000000002049c000000000000049c0f6285c8fc2f548c00dd7%?a3703dea48c00000000000e048c0f6285c8fc2d548c00dd7a3%?703dca48c00000000000c048c0f6285c8fc2b548c00dd7a370%?3daa48c00000000000a048c0f6285c8fc29548c00dd7a3703d%?8a48c000000000008048c0f6285c8fc27548c00dd7a3703d6a%?48c000000000006048c0f6285c8fc25548c00dd7a3703d4a48%?c000000000004048c0f6285c8fc23548c00dd7a3703d2a48c0%?00000000002048c0f6285c8fc21548c00dd7a3703d0d48c000%?000000000048c0f6285c8fc2f547c00dd7a3703dea47c00000%?000000e047c0f6285c8fc2d547c00dd7a3703dca47c0000000%?0000c047c0f6285c8fc2b547c00dd7a3703daa47c000000000%?00a047c0f6285c8fc29547c00dd7a3703d8a47c00000000000%?8047c0f6285c8fc27547c00dd7a3703d6a47c0000000000060%?47c0f6285c8fc25547c00dd7a3703d4a47c000000000004047%?c0f6285c8fc23547c00dd7a3703d2a47c000000000002047c0%?f6285c8fc21547c00dd7a3703d0d47c000000000000047c0f6%?285c8fc2f546c00dd7a3703dea46c00000000000e046c0f628%?5c8fc2d546c00dd7a3703dca46c00000000000c046c0f6285c%?8fc2b546c00dd7a3703daa46c00000000000a046c0f6285c8f%?c29546c00dd7a3703d8a46c000000000008046c0f6285c8fc2%?7546c00dd7a3703d6a46c000000000006046c0f6285c8fc255%?46c00dd7a3703d4a46c000000000004046c0f6285c8fc23546%?c00dd7a3703d2a46c000000000002046c0f6285c8fc21546c0%?0dd7a3703d0d46c000000000000046c0f6285c8fc2f545c00d%?d7a3703dea45c00000000000e045c0f6285c8fc2d545c00dd7%?a3703dca45c00000000000c045c0f6285c8fc2b545c00dd7a3%?703daa45c00000000000a045c0f6285c8fc29545c00dd7a370%?3d8a45c000000000008045c0f6285c8fc23549c00dd7a3703d%?2a49c000000000002049c000000000000049c0f6285c8fc2f5%?48c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548%?c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548c0%?0dd7a3703daa48c00000000000a048c0f6285c8fc29548c00d%?d7a3703d8a48c000000000008048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00dd7a3703d4a49c000%?000000004049c0f6285c8fc23549c00dd7a3703d2a49c00000%?0000002049c0f6285c8fc21549c00dd7a3703d0d49c0000000%?00000049c0f6285c8fc2f548c00dd7a3703dea48c000000000%?00e048c0f6285c8fc2d548c00dd7a3703dca48c00000000000%?c048c0f6285c8fc2b548c00dd7a3703daa48c00000000000a0%?48c0f6285c8fc29548c00dd7a3703d8a48c000000000008048%?c0f6285c8fc27548c00dd7a3703d6a48c000000000006048c0%?f6285c8fc25548c00dd7a3703d4a48c000000000004048c0f6%?285c8fc23548c00dd7a3703d2a48c000000000002048c0f628%?5c8fc21548c00dd7a3703d0d48c000000000000048c0f6285c%?8fc2f547c00dd7a3703dea47c00000000000e047c0f6285c8f%?c2d547c00dd7a3703dca47c00000000000c047c0f6285c8fc2%?b547c00dd7a3703daa47c00000000000a047c0f6285c8fc295%?47c00dd7a3703d8a47c000000000008047c0f6285c8fc27547%?c00dd7a3703d6a47c000000000006047c0f6285c8fc25547c0%?0dd7a3703d4a47c000000000004047c0f6285c8fc23547c00d%?d7a3703d2a47c000000000002047c0f6285c8fc21547c00dd7%?a3703d0d47c000000000000047c0f6285c8fc2f546c00dd7a3%?703dea46c00000000000e046c0f6285c8fc2d546c00dd7a370%?3dca46c00000000000c046c0f6285c8fc2b546c00dd7a3703d%?aa46c00000000000a046c0f6285c8fc29546c00dd7a3703d8a%?46c000000000008046c0f6285c8fc27546c00dd7a3703d6a46%?c000000000006046c0f6285c8fc25546c00dd7a3703d4a46c0%?00000000004046c0f6285c8fc23546c00dd7a3703d2a46c000%?000000002046c0f6285c8fc21546c00dd7a3703d0d46c00000%?0000000046c0f6285c8fc2f545c00dd7a3703dea45c0000000%?0000e045c0f6285c8fc2d545c00dd7a3703dca45c000000000%?00c045c0f6285c8fc2b545c00dd7a3703daa45c00000000000%?a045c0f6285c8fc29545c00dd7a3703d8a45c0000000000080%?45c0f6285c8fc23549c00dd7a3703d2a49c000000000002049%?c0f6285c8fc21549c00dd7a3703d0d49c000000000000049c0%?f6285c8fc2f548c00dd7a3703dea48c00000000000e048c0f6%?285c8fc2d548c00dd7a3703dca48c00000000000c048c0f628%?5c8fc2b548c00dd7a3703daa48c00000000000a048c0f6285c%?8fc29548c00dd7a3703d8a48c000000000008048c0f6285c8f%?c27548c00dd7a3703d6a48c000000000006048c0f6285c8fc2%?5548c00dd7a3703d4a48c000000000004048c0f6285c8fc235%?48c00dd7a3703d2a48c000000000002048c0f6285c8fc21548%?c00dd7a3703d0d48c000000000000048c0f6285c8fc2f547c0%?0dd7a3703dea47c00000000000e047c0f6285c8fc2d547c00d%?d7a3703dca47c00000000000c047c0f6285c8fc2b547c00dd7%?a3703daa47c00000000000a047c0f6285c8fc29547c00dd7a3%?703d8a47c000000000008047c0f6285c8fc27547c00dd7a370%?3d6a47c000000000006047c0f6285c8fc25547c00dd7a3703d%?4a47c000000000004047c0f6285c8fc23547c00dd7a3703d2a%?47c000000000002047c0f6285c8fc21547c00dd7a3703d0d47%?c000000000000047c0f6285c8fc2f546c00dd7a3703dea46c0%?0000000000e046c0f6285c8fc2d546c00dd7a3703dca46c000%?00000000c046c0f6285c8fc2b546c00dd7a3703daa46c00000%?000000a046c0f6285c8fc29546c00dd7a3703d8a46c0000000%?00008046c0f6285c8fc27546c00dd7a3703d6a46c000000000%?006046c0f6285c8fc25546c00dd7a3703d4a46c00000000000%?4046c0f6285c8fc23546c00dd7a3703d2a46c0000000000020%?46c0f6285c8fc21546c00dd7a3703d0d46c000000000000046%?c0f6285c8fc2f545c00dd7a3703dea45c00000000000e045c0%?f6285c8fc2d545c00dd7a3703dca45c00000000000c045c0f6%?285c8fc2b545c00dd7a3703daa45c00000000000a045c0f628%?5c8fc29545c00dd7a3703d8a45c000000000008045c0f6285c%?8fc23549c00dd7a3703d2a49c000000000002049c0f6285c8f%?c21549c00dd7a3703d0d49c000000000000049c0f6285c8fc2%?f548c00dd7a3703dea48c00000000000e048c0f6285c8fc2d5%?48c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548%?c00dd7a3703daa48c00000000000a048c0f6285c8fc29548c0%?0dd7a3703d8a48c000000000008048c0f6285c8fc27548c00d%?d7a3703d6a48c000000000006048c0f6285c8fc25548c00dd7%?a3703d4a48c000000000004048c0f6285c8fc23548c00dd7a3%?703d2a48c000000000002048c0f6285c8fc21548c00dd7a370%?3d0d48c000000000000048c0f6285c8fc2f547c00dd7a3703d%?ea47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca%?47c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47%?c00000000000a047c0f6285c8fc29547c00dd7a3703d8a47c0%?00000000008047c0f6285c8fc27547c00dd7a3703d6a47c000%?000000006047c0f6285c8fc25547c00dd7a3703d4a47c00000%?0000004047c0f6285c8fc23547c00dd7a3703d2a47c0000000%?00002047c0f6285c8fc21547c00dd7a3703d0d47c000000000%?000047c0f6285c8fc2f546c00dd7a3703dea46c00000000000%?e046c0f6285c8fc2d546c00dd7a3703dca46c00000000000c0%?46c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046%?c0f6285c8fc29546c00dd7a3703d8a46c000000000008046c0%?f6285c8fc27546c00dd7a3703d6a46c000000000006046c0f6%?285c8fc25546c00dd7a3703d4a46c000000000004046c0f628%?5c8fc23546c00dd7a3703d2a46c000000000002046c0f6285c%?8fc21546c00dd7a3703d0d46c000000000000046c0f6285c8f%?c2f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2%?d545c00dd7a3703dca45c00000000000c045c0f6285c8fc2b5%?45c00dd7a3703daa45c00000000000a045c0f6285c8fc29545%?c00dd7a3703d8a45c000000000008045c0f6285c8fc23549c0%?0dd7a3703d2a49c000000000002049c0f6285c8fc21549c00d%?d7a3703d0d49c000000000000049c0f6285c8fc2f548c00dd7%?a3703dea48c00000000000e048c0f6285c8fc2d548c00dd7a3%?703dca48c00000000000c048c0f6285c8fc2b548c00dd7a370%?3daa48c00000000000a048c0f6285c8fc29548c00dd7a3703d%?8a48c000000000008048c0f6285c8fc27548c00dd7a3703d6a%?48c000000000006048c0f6285c8fc25548c00dd7a3703d4a48%?c000000000004048c0f6285c8fc23548c00dd7a3703d2a48c0%?00000000002048c0f6285c8fc21548c00dd7a3703d0d48c000%?000000000048c0f6285c8fc2f547c00dd7a3703dea47c00000%?000000e047c0f6285c8fc2d547c00dd7a3703dca47c0000000%?0000c047c0f6285c8fc2b547c00dd7a3703daa47c000000000%?00a047c0f6285c8fc29547c00dd7a3703d8a47c00000000000%?8047c0f6285c8fc27547c00dd7a3703d6a47c0000000000060%?47c0f6285c8fc25547c00dd7a3703d4a47c000000000004047%?c0f6285c8fc23547c00dd7a3703d2a47c000000000002047c0%?f6285c8fc21547c00dd7a3703d0d47c000000000000047c0f6%?285c8fc2f546c00dd7a3703dea46c00000000000e046c0f628%?5c8fc2d546c00dd7a3703dca46c00000000000c046c0f6285c%?8fc2b546c00dd7a3703daa46c00000000000a046c0f6285c8f%?c29546c00dd7a3703d8a46c000000000008046c0f6285c8fc2%?7546c00dd7a3703d6a46c000000000006046c0f6285c8fc255%?46c00dd7a3703d4a46c000000000004046c0f6285c8fc23546%?c00dd7a3703d2a46c000000000002046c0f6285c8fc21546c0%?0dd7a3703d0d46c000000000000046c0f6285c8fc2f545c00d%?d7a3703dea45c00000000000e045c0f6285c8fc2d545c00dd7%?a3703dca45c00000000000c045c0f6285c8fc2b545c00dd7a3%?703daa45c00000000000a045c0f6285c8fc29545c00dd7a370%?3d8a45c000000000008045c00dd7a3703d4a49c00000000000%?4049c0f6285c8fc23549c00dd7a3703d2a49c0000000000020%?49c0f6285c8fc21549c00dd7a3703d0d49c000000000000049%?c0f6285c8fc2f548c00dd7a3703dea48c00000000000e048c0%?f6285c8fc2d548c00dd7a3703dca48c00000000000c048c0f6%?285c8fc2b548c00dd7a3703daa48c00000000000a048c0f628%?5c8fc29548c00dd7a3703d8a48c000000000008048c0f6285c%?8fc27548c00dd7a3703d6a48c000000000006048c0f6285c8f%?c25548c00dd7a3703d4a48c000000000004048c0f6285c8fc2%?3548c00dd7a3703d2a48c000000000002048c0f6285c8fc215%?48c00dd7a3703d0d48c000000000000048c0f6285c8fc2f547%?c00dd7a3703dea47c00000000000e047c0f6285c8fc2d547c0%?0dd7a3703dca47c00000000000c047c0f6285c8fc2b547c00d%?d7a3703daa47c00000000000a047c0f6285c8fc29547c00dd7%?a3703d8a47c000000000008047c0f6285c8fc27547c00dd7a3%?703d6a47c000000000006047c0f6285c8fc25547c00dd7a370%?3d4a47c000000000004047c0f6285c8fc23547c00dd7a3703d%?2a47c000000000002047c0f6285c8fc21547c00dd7a3703d0d%?47c000000000000047c0f6285c8fc2f546c00dd7a3703dea46%?c00000000000e046c0f6285c8fc2d546c00dd7a3703dca46c0%?0000000000c046c0f6285c8fc2b546c00dd7a3703daa46c000%?00000000a046c0f6285c8fc29546c00dd7a3703d8a46c00000%?0000008046c0f6285c8fc27546c00dd7a3703d6a46c0000000%?00006046c0f6285c8fc25546c00dd7a3703d4a46c000000000%?004046c0f6285c8fc23546c00dd7a3703d2a46c00000000000%?2046c0f6285c8fc21546c00dd7a3703d0d46c0000000000000%?46c0f6285c8fc2f545c00dd7a3703dea45c00000000000e045%?c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045c0%?f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0f6%?285c8fc29545c00dd7a3703d8a45c000000000008045c00dd7%?a3703d4a49c000000000004049c0f6285c8fc23549c00dd7a3%?703d2a49c000000000002049c0f6285c8fc21549c00dd7a370%?3d0d49c000000000000049c0f6285c8fc2f548c00dd7a3703d%?ea48c00000000000e048c0f6285c8fc2d548c00dd7a3703dca%?48c00000000000c048c0f6285c8fc2b548c00dd7a3703daa48%?c00000000000a048c0f6285c8fc29548c00dd7a3703d8a48c0%?00000000008048c0f6285c8fc27548c00dd7a3703d6a48c000%?000000006048c0f6285c8fc25548c00dd7a3703d4a48c00000%?0000004048c0f6285c8fc23548c00dd7a3703d2a48c0000000%?00002048c0f6285c8fc21548c00dd7a3703d0d48c000000000%?000048c0f6285c8fc2f547c00dd7a3703dea47c00000000000%?e047c0f6285c8fc2d547c00dd7a3703dca47c00000000000c0%?47c0f6285c8fc2b547c00dd7a3703daa47c00000000000a047%?c0f6285c8fc29547c00dd7a3703d8a47c000000000008047c0%?f6285c8fc27547c00dd7a3703d6a47c000000000006047c0f6%?285c8fc25547c00dd7a3703d4a47c000000000004047c0f628%?5c8fc23547c00dd7a3703d2a47c000000000002047c0f6285c%?8fc21547c00dd7a3703d0d47c000000000000047c0f6285c8f%?c2f546c00dd7a3703dea46c00000000000e046c0f6285c8fc2%?d546c00dd7a3703dca46c00000000000c046c0f6285c8fc2b5%?46c00dd7a3703daa46c00000000000a046c0f6285c8fc29546%?c00dd7a3703d8a46c000000000008046c0f6285c8fc27546c0%?0dd7a3703d6a46c000000000006046c0f6285c8fc25546c00d%?d7a3703d4a46c000000000004046c0f6285c8fc23546c00dd7%?a3703d2a46c000000000002046c0f6285c8fc21546c00dd7a3%?703d0d46c000000000000046c0f6285c8fc2f545c00dd7a370%?3dea45c00000000000e045c0f6285c8fc2d545c00dd7a3703d%?ca45c00000000000c045c0f6285c8fc2b545c00dd7a3703daa%?45c00000000000a045c0f6285c8fc29545c00dd7a3703d8a45%?c000000000008045c00dd7a3703d4a49c000000000004049c0%?f6285c8fc23549c00dd7a3703d2a49c000000000002049c0f6%?285c8fc21549c00dd7a3703d0d49c000000000000049c0f628%?5c8fc2f548c00dd7a3703dea48c00000000000e048c0f6285c%?8fc2d548c00dd7a3703dca48c00000000000c048c0f6285c8f%?c2b548c00dd7a3703daa48c00000000000a048c0f6285c8fc2%?9548c00dd7a3703d8a48c000000000008048c0f6285c8fc275%?48c00dd7a3703d6a48c000000000006048c0f6285c8fc25548%?c00dd7a3703d4a48c000000000004048c0f6285c8fc23548c0%?0dd7a3703d2a48c000000000002048c0f6285c8fc21548c00d%?d7a3703d0d48c000000000000048c0f6285c8fc2f547c00dd7%?a3703dea47c00000000000e047c0f6285c8fc2d547c00dd7a3%?703dca47c00000000000c047c0f6285c8fc2b547c00dd7a370%?3daa47c00000000000a047c0f6285c8fc29547c00dd7a3703d%?8a47c000000000008047c0f6285c8fc27547c00dd7a3703d6a%?47c000000000006047c0f6285c8fc25547c00dd7a3703d4a47%?c000000000004047c0f6285c8fc23547c00dd7a3703d2a47c0%?00000000002047c0f6285c8fc21547c00dd7a3703d0d47c000%?000000000047c0f6285c8fc2f546c00dd7a3703dea46c00000%?000000e046c0f6285c8fc2d546c00dd7a3703dca46c0000000%?0000c046c0f6285c8fc2b546c00dd7a3703daa46c000000000%?00a046c0f6285c8fc29546c00dd7a3703d8a46c00000000000%?8046c0f6285c8fc27546c00dd7a3703d6a46c0000000000060%?46c0f6285c8fc25546c00dd7a3703d4a46c000000000004046%?c0f6285c8fc23546c00dd7a3703d2a46c000000000002046c0%?f6285c8fc21546c00dd7a3703d0d46c000000000000046c0f6%?285c8fc2f545c00dd7a3703dea45c00000000000e045c0f628%?5c8fc2d545c00dd7a3703dca45c00000000000c045c0f6285c%?8fc2b545c00dd7a3703daa45c00000000000a045c0f6285c8f%?c29545c00dd7a3703d8a45c000000000008045c00dd7a3703d%?4a49c000000000004049c0f6285c8fc23549c00dd7a3703d2a%?49c000000000002049c0f6285c8fc21549c00dd7a3703d0d49%?c000000000000049c0f6285c8fc2f548c00dd7a3703dea48c0%?0000000000e048c0f6285c8fc2d548c00dd7a3703dca48c000%?00000000c048c0f6285c8fc2b548c00dd7a3703daa48c00000%?000000a048c0f6285c8fc29548c00dd7a3703d8a48c0000000%?00008048c0f6285c8fc27548c00dd7a3703d6a48c000000000%?006048c0f6285c8fc25548c00dd7a3703d4a48c00000000000%?4048c0f6285c8fc23548c00dd7a3703d2a48c0000000000020%?48c0f6285c8fc21548c00dd7a3703d0d48c000000000000048%?c0f6285c8fc2f547c00dd7a3703dea47c00000000000e047c0%?f6285c8fc2d547c00dd7a3703dca47c00000000000c047c0f6%?285c8fc2b547c00dd7a3703daa47c00000000000a047c0f628%?5c8fc29547c00dd7a3703d8a47c000000000008047c0f6285c%?8fc27547c00dd7a3703d6a47c000000000006047c0f6285c8f%?c25547c00dd7a3703d4a47c000000000004047c0f6285c8fc2%?3547c00dd7a3703d2a47c000000000002047c0f6285c8fc215%?47c00dd7a3703d0d47c000000000000047c0f6285c8fc2f546%?c00dd7a3703dea46c00000000000e046c0f6285c8fc2d546c0%?0dd7a3703dca46c00000000000c046c0f6285c8fc2b546c00d%?d7a3703daa46c00000000000a046c0f6285c8fc29546c00dd7%?a3703d8a46c000000000008046c0f6285c8fc27546c00dd7a3%?703d6a46c000000000006046c0f6285c8fc25546c00dd7a370%?3d4a46c000000000004046c0f6285c8fc23546c00dd7a3703d%?2a46c000000000002046c0f6285c8fc21546c00dd7a3703d0d%?46c000000000000046c0f6285c8fc2f545c00dd7a3703dea45%?c00000000000e045c0f6285c8fc2d545c00dd7a3703dca45c0%?0000000000c045c0f6285c8fc2b545c00dd7a3703daa45c000%?00000000a045c0f6285c8fc29545c00dd7a3703d8a45c00000%?0000008045c000000000006049c0f6285c8fc25549c00dd7a3%?703d4a49c000000000004049c0f6285c8fc23549c00dd7a370%?3d2a49c000000000002049c0f6285c8fc21549c00dd7a3703d%?0d49c000000000000049c0f6285c8fc2f548c00dd7a3703dea%?48c00000000000e048c0f6285c8fc2d548c00dd7a3703dca48%?c00000000000c048c0f6285c8fc2b548c00dd7a3703daa48c0%?0000000000a048c0f6285c8fc29548c00dd7a3703d8a48c000%?000000008048c0f6285c8fc27548c00dd7a3703d6a48c00000%?0000006048c0f6285c8fc25548c00dd7a3703d4a48c0000000%?00004048c0f6285c8fc23548c00dd7a3703d2a48c000000000%?002048c0f6285c8fc21548c00dd7a3703d0d48c00000000000%?0048c0f6285c8fc2f547c00dd7a3703dea47c00000000000e0%?47c0f6285c8fc2d547c00dd7a3703dca47c00000000000c047%?c0f6285c8fc2b547c00dd7a3703daa47c00000000000a047c0%?f6285c8fc29547c00dd7a3703d8a47c000000000008047c0f6%?285c8fc27547c00dd7a3703d6a47c000000000006047c0f628%?5c8fc25547c00dd7a3703d4a47c000000000004047c0f6285c%?8fc23547c00dd7a3703d2a47c000000000002047c0f6285c8f%?c21547c00dd7a3703d0d47c000000000000047c0f6285c8fc2%?f546c00dd7a3703dea46c00000000000e046c0f6285c8fc2d5%?46c00dd7a3703dca46c00000000000c046c0f6285c8fc2b546%?c00dd7a3703daa46c00000000000a046c0f6285c8fc29546c0%?0dd7a3703d8a46c000000000008046c0f6285c8fc27546c00d%?d7a3703d6a46c000000000006046c0f6285c8fc25546c00dd7%?a3703d4a46c000000000004046c0f6285c8fc23546c00dd7a3%?703d2a46c000000000002046c0f6285c8fc21546c00dd7a370%?3d0d46c000000000000046c0f6285c8fc2f545c00dd7a3703d%?ea45c00000000000e045c0f6285c8fc2d545c00dd7a3703dca%?45c00000000000c045c0f6285c8fc2b545c00dd7a3703daa45%?c00000000000a045c0f6285c8fc29545c00dd7a3703d8a45c0%?00000000008045c000000000006049c0f6285c8fc25549c00d%?d7a3703d4a49c000000000004049c0f6285c8fc23549c00dd7%?a3703d2a49c000000000002049c0f6285c8fc21549c00dd7a3%?703d0d49c000000000000049c0f6285c8fc2f548c00dd7a370%?3dea48c00000000000e048c0f6285c8fc2d548c00dd7a3703d%?ca48c00000000000c048c0f6285c8fc2b548c00dd7a3703daa%?48c00000000000a048c0f6285c8fc29548c00dd7a3703d8a48%?c000000000008048c0f6285c8fc27548c00dd7a3703d6a48c0%?00000000006048c0f6285c8fc25548c00dd7a3703d4a48c000%?000000004048c0f6285c8fc23548c00dd7a3703d2a48c00000%?0000002048c0f6285c8fc21548c00dd7a3703d0d48c0000000%?00000048c0f6285c8fc2f547c00dd7a3703dea47c000000000%?00e047c0f6285c8fc2d547c00dd7a3703dca47c00000000000%?c047c0f6285c8fc2b547c00dd7a3703daa47c00000000000a0%?47c0f6285c8fc29547c00dd7a3703d8a47c000000000008047%?c0f6285c8fc27547c00dd7a3703d6a47c000000000006047c0%?f6285c8fc25547c00dd7a3703d4a47c000000000004047c0f6%?285c8fc23547c00dd7a3703d2a47c000000000002047c0f628%?5c8fc21547c00dd7a3703d0d47c000000000000047c0f6285c%?8fc2f546c00dd7a3703dea46c00000000000e046c0f6285c8f%?c2d546c00dd7a3703dca46c00000000000c046c0f6285c8fc2%?b546c00dd7a3703daa46c00000000000a046c0f6285c8fc295%?46c00dd7a3703d8a46c000000000008046c0f6285c8fc27546%?c00dd7a3703d6a46c000000000006046c0f6285c8fc25546c0%?0dd7a3703d4a46c000000000004046c0f6285c8fc23546c00d%?d7a3703d2a46c000000000002046c0f6285c8fc21546c00dd7%?a3703d0d46c000000000000046c0f6285c8fc2f545c00dd7a3%?703dea45c00000000000e045c0f6285c8fc2d545c00dd7a370%?3dca45c00000000000c045c0f6285c8fc2b545c00dd7a3703d%?aa45c00000000000a045c0f6285c8fc29545c00dd7a3703d8a%?45c000000000008045c000000000006049c0f6285c8fc25549%?c00dd7a3703d4a49c000000000004049c0f6285c8fc23549c0%?0dd7a3703d2a49c000000000002049c0f6285c8fc21549c00d%?d7a3703d0d49c000000000000049c0f6285c8fc2f548c00dd7%?a3703dea48c00000000000e048c0f6285c8fc2d548c00dd7a3%?703dca48c00000000000c048c0f6285c8fc2b548c00dd7a370%?3daa48c00000000000a048c0f6285c8fc29548c00dd7a3703d%?8a48c000000000008048c0f6285c8fc27548c00dd7a3703d6a%?48c000000000006048c0f6285c8fc25548c00dd7a3703d4a48%?c000000000004048c0f6285c8fc23548c00dd7a3703d2a48c0%?00000000002048c0f6285c8fc21548c00dd7a3703d0d48c000%?000000000048c0f6285c8fc2f547c00dd7a3703dea47c00000%?000000e047c0f6285c8fc2d547c00dd7a3703dca47c0000000%?0000c047c0f6285c8fc2b547c00dd7a3703daa47c000000000%?00a047c0f6285c8fc29547c00dd7a3703d8a47c00000000000%?8047c0f6285c8fc27547c00dd7a3703d6a47c0000000000060%?47c0f6285c8fc25547c00dd7a3703d4a47c000000000004047%?c0f6285c8fc23547c00dd7a3703d2a47c000000000002047c0%?f6285c8fc21547c00dd7a3703d0d47c000000000000047c0f6%?285c8fc2f546c00dd7a3703dea46c00000000000e046c0f628%?5c8fc2d546c00dd7a3703dca46c00000000000c046c0f6285c%?8fc2b546c00dd7a3703daa46c00000000000a046c0f6285c8f%?c29546c00dd7a3703d8a46c000000000008046c0f6285c8fc2%?7546c00dd7a3703d6a46c000000000006046c0f6285c8fc255%?46c00dd7a3703d4a46c000000000004046c0f6285c8fc23546%?c00dd7a3703d2a46c000000000002046c0f6285c8fc21546c0%?0dd7a3703d0d46c000000000000046c0f6285c8fc2f545c00d%?d7a3703dea45c00000000000e045c0f6285c8fc2d545c00dd7%?a3703dca45c00000000000c045c0f6285c8fc2b545c00dd7a3%?703daa45c00000000000a045c0f6285c8fc29545c00dd7a370%?3d8a45c000000000008045c000000000006049c0f6285c8fc2%?5549c00dd7a3703d4a49c000000000004049c0f6285c8fc235%?49c00dd7a3703d2a49c000000000002049c0f6285c8fc21549%?c00dd7a3703d0d49c000000000000049c0f6285c8fc2f548c0%?0dd7a3703dea48c00000000000e048c0f6285c8fc2d548c00d%?d7a3703dca48c00000000000c048c0f6285c8fc2b548c00dd7%?a3703daa48c00000000000a048c0f6285c8fc29548c00dd7a3%?703d8a48c000000000008048c0f6285c8fc27548c00dd7a370%?3d6a48c000000000006048c0f6285c8fc25548c00dd7a3703d%?4a48c000000000004048c0f6285c8fc23548c00dd7a3703d2a%?48c000000000002048c0f6285c8fc21548c00dd7a3703d0d48%?c000000000000048c0f6285c8fc2f547c00dd7a3703dea47c0%?0000000000e047c0f6285c8fc2d547c00dd7a3703dca47c000%?00000000c047c0f6285c8fc2b547c00dd7a3703daa47c00000%?000000a047c0f6285c8fc29547c00dd7a3703d8a47c0000000%?00008047c0f6285c8fc27547c00dd7a3703d6a47c000000000%?006047c0f6285c8fc25547c00dd7a3703d4a47c00000000000%?4047c0f6285c8fc23547c00dd7a3703d2a47c0000000000020%?47c0f6285c8fc21547c00dd7a3703d0d47c000000000000047%?c0f6285c8fc2f546c00dd7a3703dea46c00000000000e046c0%?f6285c8fc2d546c00dd7a3703dca46c00000000000c046c0f6%?285c8fc2b546c00dd7a3703daa46c00000000000a046c0f628%?5c8fc29546c00dd7a3703d8a46c000000000008046c0f6285c%?8fc27546c00dd7a3703d6a46c000000000006046c0f6285c8f%?c25546c00dd7a3703d4a46c000000000004046c0f6285c8fc2%?3546c00dd7a3703d2a46c000000000002046c0f6285c8fc215%?46c00dd7a3703d0d46c000000000000046c0f6285c8fc2f545%?c00dd7a3703dea45c00000000000e045c0f6285c8fc2d545c0%?0dd7a3703dca45c00000000000c045c0f6285c8fc2b545c00d%?d7a3703daa45c00000000000a045c0f6285c8fc29545c00dd7%?a3703d8a45c000000000008045c0f6285c8fc27549c00dd7a3%?703d6a49c000000000006049c0f6285c8fc25549c00dd7a370%?3d4a49c000000000004049c0f6285c8fc23549c00dd7a3703d%?2a49c000000000002049c0f6285c8fc21549c00dd7a3703d0d%?49c000000000000049c0f6285c8fc2f548c00dd7a3703dea48%?c00000000000e048c0f6285c8fc2d548c00dd7a3703dca48c0%?0000000000c048c0f6285c8fc2b548c00dd7a3703daa48c000%?00000000a048c0f6285c8fc29548c00dd7a3703d8a48c00000%?0000008048c0f6285c8fc27548c00dd7a3703d6a48c0000000%?00006048c0f6285c8fc25548c00dd7a3703d4a48c000000000%?004048c0f6285c8fc23548c00dd7a3703d2a48c00000000000%?2048c0f6285c8fc21548c00dd7a3703d0d48c0000000000000%?48c0f6285c8fc2f547c00dd7a3703dea47c00000000000e047%?c0f6285c8fc2d547c00dd7a3703dca47c00000000000c047c0%?f6285c8fc2b547c00dd7a3703daa47c00000000000a047c0f6%?285c8fc29547c00dd7a3703d8a47c000000000008047c0f628%?5c8fc27547c00dd7a3703d6a47c000000000006047c0f6285c%?8fc25547c00dd7a3703d4a47c000000000004047c0f6285c8f%?c23547c00dd7a3703d2a47c000000000002047c0f6285c8fc2%?1547c00dd7a3703d0d47c000000000000047c0f6285c8fc2f5%?46c00dd7a3703dea46c00000000000e046c0f6285c8fc2d546%?c00dd7a3703dca46c00000000000c046c0f6285c8fc2b546c0%?0dd7a3703daa46c00000000000a046c0f6285c8fc29546c00d%?d7a3703d8a46c000000000008046c0f6285c8fc27546c00dd7%?a3703d6a46c000000000006046c0f6285c8fc25546c00dd7a3%?703d4a46c000000000004046c0f6285c8fc23546c00dd7a370%?3d2a46c000000000002046c0f6285c8fc21546c00dd7a3703d%?0d46c000000000000046c0f6285c8fc2f545c00dd7a3703dea%?45c00000000000e045c0f6285c8fc2d545c00dd7a3703dca45%?c00000000000c045c0f6285c8fc2b545c00dd7a3703daa45c0%?0000000000a045c0f6285c8fc29545c00dd7a3703d8a45c000%?000000008045c0f6285c8fc27549c00dd7a3703d6a49c00000%?0000006049c0f6285c8fc25549c00dd7a3703d4a49c0000000%?00004049c0f6285c8fc23549c00dd7a3703d2a49c000000000%?002049c0f6285c8fc21549c00dd7a3703d0d49c00000000000%?0049c0f6285c8fc2f548c00dd7a3703dea48c00000000000e0%?48c0f6285c8fc2d548c00dd7a3703dca48c00000000000c048%?c0f6285c8fc2b548c00dd7a3703daa48c00000000000a048c0%?f6285c8fc29548c00dd7a3703d8a48c000000000008048c0f6%?285c8fc27548c00dd7a3703d6a48c000000000006048c0f628%?5c8fc25548c00dd7a3703d4a48c000000000004048c0f6285c%?8fc23548c00dd7a3703d2a48c000000000002048c0f6285c8f%?c21548c00dd7a3703d0d48c000000000000048c0f6285c8fc2%?f547c00dd7a3703dea47c00000000000e047c0f6285c8fc2d5%?47c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547%?c00dd7a3703daa47c00000000000a047c0f6285c8fc29547c0%?0dd7a3703d8a47c000000000008047c0f6285c8fc27547c00d%?d7a3703d6a47c000000000006047c0f6285c8fc25547c00dd7%?a3703d4a47c000000000004047c0f6285c8fc23547c00dd7a3%?703d2a47c000000000002047c0f6285c8fc21547c00dd7a370%?3d0d47c000000000000047c0f6285c8fc2f546c00dd7a3703d%?ea46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca%?46c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46%?c00000000000a046c0f6285c8fc29546c00dd7a3703d8a46c0%?00000000008046c0f6285c8fc27546c00dd7a3703d6a46c000%?000000006046c0f6285c8fc25546c00dd7a3703d4a46c00000%?0000004046c0f6285c8fc23546c00dd7a3703d2a46c0000000%?00002046c0f6285c8fc21546c00dd7a3703d0d46c000000000%?000046c0f6285c8fc2f545c00dd7a3703dea45c00000000000%?e045c0f6285c8fc2d545c00dd7a3703dca45c00000000000c0%?45c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045%?c0f6285c8fc29545c00dd7a3703d8a45c000000000008045c0%?0000000000a049c0f6285c8fc29549c00dd7a3703d8a49c000%?000000008049c0f6285c8fc27549c00dd7a3703d6a49c00000%?0000006049c0f6285c8fc25549c00dd7a3703d4a49c0000000%?00004049c0f6285c8fc23549c00dd7a3703d2a49c000000000%?002049c0f6285c8fc21549c00dd7a3703d0d49c00000000000%?0049c0f6285c8fc2f548c00dd7a3703dea48c00000000000e0%?48c0f6285c8fc2d548c00dd7a3703dca48c00000000000c048%?c0f6285c8fc2b548c00dd7a3703daa48c00000000000a048c0%?f6285c8fc29548c00dd7a3703d8a48c000000000008048c0f6%?285c8fc27548c00dd7a3703d6a48c000000000006048c0f628%?5c8fc25548c00dd7a3703d4a48c000000000004048c0f6285c%?8fc23548c00dd7a3703d2a48c000000000002048c0f6285c8f%?c21548c00dd7a3703d0d48c000000000000048c0f6285c8fc2%?f547c00dd7a3703dea47c00000000000e047c0f6285c8fc2d5%?47c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547%?c00dd7a3703daa47c00000000000a047c0f6285c8fc29547c0%?0dd7a3703d8a47c000000000008047c0f6285c8fc27547c00d%?d7a3703d6a47c000000000006047c0f6285c8fc25547c00dd7%?a3703d4a47c000000000004047c0f6285c8fc23547c00dd7a3%?703d2a47c000000000002047c0f6285c8fc21547c00dd7a370%?3d0d47c000000000000047c0f6285c8fc2f546c00dd7a3703d%?ea46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca%?46c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46%?c00000000000a046c0f6285c8fc29546c00dd7a3703d8a46c0%?00000000008046c0f6285c8fc27546c00dd7a3703d6a46c000%?000000006046c0f6285c8fc25546c00dd7a3703d4a46c00000%?0000004046c0f6285c8fc23546c00dd7a3703d2a46c0000000%?00002046c0f6285c8fc21546c00dd7a3703d0d46c000000000%?000046c0f6285c8fc2f545c00dd7a3703dea45c00000000000%?e045c0f6285c8fc2d545c00dd7a3703dca45c00000000000c0%?45c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045%?c0f6285c8fc29545c00dd7a3703d8a45c000000000008045c0%?0000000000a049c0f6285c8fc29549c00dd7a3703d8a49c000%?000000008049c0f6285c8fc27549c00dd7a3703d6a49c00000%?0000006049c0f6285c8fc25549c00dd7a3703d4a49c0000000%?00004049c0f6285c8fc23549c00dd7a3703d2a49c000000000%?002049c0f6285c8fc21549c00dd7a3703d0d49c00000000000%?0049c0f6285c8fc2f548c00dd7a3703dea48c00000000000e0%?48c0f6285c8fc2d548c00dd7a3703dca48c00000000000c048%?c0f6285c8fc2b548c00dd7a3703daa48c00000000000a048c0%?f6285c8fc29548c00dd7a3703d8a48c000000000008048c0f6%?285c8fc27548c00dd7a3703d6a48c000000000006048c0f628%?5c8fc25548c00dd7a3703d4a48c000000000004048c0f6285c%?8fc23548c00dd7a3703d2a48c000000000002048c0f6285c8f%?c21548c00dd7a3703d0d48c000000000000048c0f6285c8fc2%?f547c00dd7a3703dea47c00000000000e047c0f6285c8fc2d5%?47c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547%?c00dd7a3703daa47c00000000000a047c0f6285c8fc29547c0%?0dd7a3703d8a47c000000000008047c0f6285c8fc27547c00d%?d7a3703d6a47c000000000006047c0f6285c8fc25547c00dd7%?a3703d4a47c000000000004047c0f6285c8fc23547c00dd7a3%?703d2a47c000000000002047c0f6285c8fc21547c00dd7a370%?3d0d47c000000000000047c0f6285c8fc2f546c00dd7a3703d%?ea46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca%?46c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46%?c00000000000a046c0f6285c8fc29546c00dd7a3703d8a46c0%?00000000008046c0f6285c8fc27546c00dd7a3703d6a46c000%?000000006046c0f6285c8fc25546c00dd7a3703d4a46c00000%?0000004046c0f6285c8fc23546c00dd7a3703d2a46c0000000%?00002046c0f6285c8fc21546c00dd7a3703d0d46c000000000%?000046c0f6285c8fc2f545c00dd7a3703dea45c00000000000%?e045c0f6285c8fc2d545c00dd7a3703dca45c00000000000c0%?45c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045%?c0f6285c8fc29545c00dd7a3703d8a45c000000000008045c0%?0000000000a049c0f6285c8fc29549c00dd7a3703d8a49c000%?000000008049c0f6285c8fc27549c00dd7a3703d6a49c00000%?0000006049c0f6285c8fc25549c00dd7a3703d4a49c0000000%?00004049c0f6285c8fc23549c00dd7a3703d2a49c000000000%?002049c0f6285c8fc21549c00dd7a3703d0d49c00000000000%?0049c0f6285c8fc2f548c00dd7a3703dea48c00000000000e0%?48c0f6285c8fc2d548c00dd7a3703dca48c00000000000c048%?c0f6285c8fc2b548c00dd7a3703daa48c00000000000a048c0%?f6285c8fc29548c00dd7a3703d8a48c000000000008048c0f6%?285c8fc27548c00dd7a3703d6a48c000000000006048c0f628%?5c8fc25548c00dd7a3703d4a48c000000000004048c0f6285c%?8fc23548c00dd7a3703d2a48c000000000002048c0f6285c8f%?c21548c00dd7a3703d0d48c000000000000048c0f6285c8fc2%?f547c00dd7a3703dea47c00000000000e047c0f6285c8fc2d5%?47c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547%?c00dd7a3703daa47c00000000000a047c0f6285c8fc29547c0%?0dd7a3703d8a47c000000000008047c0f6285c8fc27547c00d%?d7a3703d6a47c000000000006047c0f6285c8fc25547c00dd7%?a3703d4a47c000000000004047c0f6285c8fc23547c00dd7a3%?703d2a47c000000000002047c0f6285c8fc21547c00dd7a370%?3d0d47c000000000000047c0f6285c8fc2f546c00dd7a3703d%?ea46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca%?46c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46%?c00000000000a046c0f6285c8fc29546c00dd7a3703d8a46c0%?00000000008046c0f6285c8fc27546c00dd7a3703d6a46c000%?000000006046c0f6285c8fc25546c00dd7a3703d4a46c00000%?0000004046c0f6285c8fc23546c00dd7a3703d2a46c0000000%?00002046c0f6285c8fc21546c00dd7a3703d0d46c000000000%?000046c0f6285c8fc2f545c00dd7a3703dea45c00000000000%?e045c0f6285c8fc2d545c00dd7a3703dca45c00000000000c0%?45c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045%?c0f6285c8fc29545c00dd7a3703d8a45c000000000008045c0%?f6285c8fc2b549c00dd7a3703daa49c00000000000a049c0f6%?285c8fc29549c00dd7a3703d8a49c000000000008049c0f628%?5c8fc27549c00dd7a3703d6a49c000000000006049c0f6285c%?8fc25549c00dd7a3703d4a49c000000000004049c0f6285c8f%?c23549c00dd7a3703d2a49c000000000002049c0f6285c8fc2%?1549c00dd7a3703d0d49c000000000000049c0f6285c8fc2f5%?48c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548%?c00dd7a3703dca48c00000000000c048c0f6285c8fc2b548c0%?0dd7a3703daa48c00000000000a048c0f6285c8fc29548c00d%?d7a3703d8a48c000000000008048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c0f6285c8fc2b549c00d%?d7a3703daa49c00000000000a049c0f6285c8fc29549c00dd7%?a3703d8a49c000000000008049c0f6285c8fc27549c00dd7a3%?703d6a49c000000000006049c0f6285c8fc25549c00dd7a370%?3d4a49c000000000004049c0f6285c8fc23549c00dd7a3703d%?2a49c000000000002049c0f6285c8fc21549c00dd7a3703d0d%?49c000000000000049c0f6285c8fc2f548c00dd7a3703dea48%?c00000000000e048c0f6285c8fc2d548c00dd7a3703dca48c0%?0000000000c048c0f6285c8fc2b548c00dd7a3703daa48c000%?00000000a048c00dd7a3703d8a48c000000000008048c0f628%?5c8fc27548c00dd7a3703d6a48c000000000006048c0f6285c%?8fc25548c00dd7a3703d4a48c000000000004048c0f6285c8f%?c23548c00dd7a3703d2a48c000000000002048c0f6285c8fc2%?1548c00dd7a3703d0d48c000000000000048c0f6285c8fc2f5%?47c00dd7a3703dea47c00000000000e047c0f6285c8fc2d547%?c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547c0%?0dd7a3703daa47c00000000000a047c0f6285c8fc29547c00d%?d7a3703d8a47c000000000008047c0f6285c8fc27547c00dd7%?a3703d6a47c000000000006047c0f6285c8fc25547c00dd7a3%?703d4a47c000000000004047c0f6285c8fc23547c00dd7a370%?3d2a47c000000000002047c0f6285c8fc21547c00dd7a3703d%?0d47c000000000000047c0f6285c8fc2f546c00dd7a3703dea%?46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca46%?c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46c0%?0000000000a046c0f6285c8fc29546c00dd7a3703d8a46c000%?000000008046c0f6285c8fc27546c00dd7a3703d6a46c00000%?0000006046c0f6285c8fc25546c00dd7a3703d4a46c0000000%?00004046c0f6285c8fc23546c00dd7a3703d2a46c000000000%?002046c0f6285c8fc21546c00dd7a3703d0d46c00000000000%?0046c0f6285c8fc2f545c00dd7a3703dea45c00000000000e0%?45c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045%?c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0%?f6285c8fc29545c00dd7a3703d8a45c000000000008045c0f6%?285c8fc2b549c00dd7a3703daa49c00000000000a049c0f628%?5c8fc29549c00dd7a3703d8a49c000000000008049c0f6285c%?8fc27549c00dd7a3703d6a49c000000000006049c0f6285c8f%?c25549c00dd7a3703d4a49c000000000004049c0f6285c8fc2%?3549c00dd7a3703d2a49c000000000002049c0f6285c8fc215%?49c00dd7a3703d0d49c000000000000049c0f6285c8fc2f548%?c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548c0%?0dd7a3703dca48c00000000000c048c0f6285c8fc2b548c00d%?d7a3703daa48c00000000000a048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00000000000c049c0f6%?285c8fc2b549c00dd7a3703daa49c00000000000a049c0f628%?5c8fc29549c00dd7a3703d8a49c000000000008049c0f6285c%?8fc27549c00dd7a3703d6a49c000000000006049c0f6285c8f%?c25549c00dd7a3703d4a49c000000000004049c0f6285c8fc2%?3549c00dd7a3703d2a49c000000000002049c0f6285c8fc215%?49c00dd7a3703d0d49c000000000000049c0f6285c8fc2f548%?c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548c0%?0dd7a3703dca48c00000000000c048c0f6285c8fc2b548c00d%?d7a3703daa48c00000000000a048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00dd7a3703dca49c0f6%?285c8fc2b549c00dd7a3703daa49c00000000000a049c0f628%?5c8fc29549c00dd7a3703d8a49c000000000008049c0f6285c%?8fc27549c00dd7a3703d6a49c000000000006049c0f6285c8f%?c25549c00dd7a3703d4a49c000000000004049c0f6285c8fc2%?3549c00dd7a3703d2a49c000000000002049c0f6285c8fc215%?49c00dd7a3703d0d49c000000000000049c0f6285c8fc2f548%?c00dd7a3703dea48c00000000000e048c0f6285c8fc2d548c0%?0dd7a3703dca48c00000000000c048c0f6285c8fc2b548c00d%?d7a3703daa48c00000000000a048c0f6285c8fc27548c00dd7%?a3703d6a48c000000000006048c0f6285c8fc25548c00dd7a3%?703d4a48c000000000004048c0f6285c8fc23548c00dd7a370%?3d2a48c000000000002048c0f6285c8fc21548c00dd7a3703d%?0d48c000000000000048c0f6285c8fc2f547c00dd7a3703dea%?47c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47%?c00000000000c047c0f6285c8fc2b547c00dd7a3703daa47c0%?0000000000a047c0f6285c8fc29547c00dd7a3703d8a47c000%?000000008047c0f6285c8fc27547c00dd7a3703d6a47c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00dd7a3703dca49c000%?00000000c049c0f6285c8fc2b549c00dd7a3703daa49c00000%?000000a049c0f6285c8fc29549c00dd7a3703d8a49c0000000%?00008049c0f6285c8fc27549c00dd7a3703d6a49c000000000%?006049c0f6285c8fc25549c00dd7a3703d4a49c00000000000%?4049c0f6285c8fc23549c00dd7a3703d2a49c0000000000020%?49c0f6285c8fc21549c00dd7a3703d0d49c000000000000049%?c0f6285c8fc2f548c00dd7a3703dea48c00000000000e048c0%?f6285c8fc2d548c00dd7a3703dca48c00000000000c048c0f6%?285c8fc2b548c00dd7a3703daa48c00000000000a048c0f628%?5c8fc27548c00dd7a3703d6a48c000000000006048c0f6285c%?8fc25548c00dd7a3703d4a48c000000000004048c0f6285c8f%?c23548c00dd7a3703d2a48c000000000002048c0f6285c8fc2%?1548c00dd7a3703d0d48c000000000000048c0f6285c8fc2f5%?47c00dd7a3703dea47c00000000000e047c0f6285c8fc2d547%?c00dd7a3703dca47c00000000000c047c0f6285c8fc2b547c0%?0dd7a3703daa47c00000000000a047c0f6285c8fc29547c00d%?d7a3703d8a47c000000000008047c0f6285c8fc27547c00dd7%?a3703d6a47c000000000006047c0f6285c8fc25547c00dd7a3%?703d4a47c000000000004047c0f6285c8fc23547c00dd7a370%?3d2a47c000000000002047c0f6285c8fc21547c00dd7a3703d%?0d47c000000000000047c0f6285c8fc2f546c00dd7a3703dea%?46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca46%?c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46c0%?0000000000a046c0f6285c8fc29546c00dd7a3703d8a46c000%?000000008046c0f6285c8fc27546c00dd7a3703d6a46c00000%?0000006046c0f6285c8fc25546c00dd7a3703d4a46c0000000%?00004046c0f6285c8fc23546c00dd7a3703d2a46c000000000%?002046c0f6285c8fc21546c00dd7a3703d0d46c00000000000%?0046c0f6285c8fc2f545c00dd7a3703dea45c00000000000e0%?45c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045%?c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0%?f6285c8fc29545c00dd7a3703d8a45c000000000008045c0f6%?285c8fc2d549c00000000000c049c0f6285c8fc2b549c00dd7%?a3703daa49c00000000000a049c0f6285c8fc29549c00dd7a3%?703d8a49c000000000008049c0f6285c8fc27549c00dd7a370%?3d6a49c000000000006049c0f6285c8fc25549c00dd7a3703d%?4a49c000000000004049c0f6285c8fc23549c00dd7a3703d2a%?49c000000000002049c0f6285c8fc21549c00dd7a3703d0d49%?c000000000000049c0f6285c8fc2f548c00dd7a3703dea48c0%?0000000000e048c0f6285c8fc2d548c00dd7a3703dca48c000%?00000000c048c0f6285c8fc2b548c00dd7a3703daa48c00000%?000000a048c0f6285c8fc27548c00dd7a3703d6a48c0000000%?00006048c0f6285c8fc25548c00dd7a3703d4a48c000000000%?004048c0f6285c8fc23548c00dd7a3703d2a48c00000000000%?2048c0f6285c8fc21548c00dd7a3703d0d48c0000000000000%?48c0f6285c8fc2f547c00dd7a3703dea47c00000000000e047%?c0f6285c8fc2d547c00dd7a3703dca47c00000000000c047c0%?f6285c8fc2b547c00dd7a3703daa47c00000000000a047c0f6%?285c8fc29547c00dd7a3703d8a47c000000000008047c0f628%?5c8fc27547c00dd7a3703d6a47c000000000006047c0f6285c%?8fc25547c00dd7a3703d4a47c000000000004047c0f6285c8f%?c23547c00dd7a3703d2a47c000000000002047c0f6285c8fc2%?1547c00dd7a3703d0d47c000000000000047c0f6285c8fc2f5%?46c00dd7a3703dea46c00000000000e046c0f6285c8fc2d546%?c00dd7a3703dca46c00000000000c046c0f6285c8fc2b546c0%?0dd7a3703daa46c00000000000a046c0f6285c8fc29546c00d%?d7a3703d8a46c000000000008046c0f6285c8fc27546c00dd7%?a3703d6a46c000000000006046c0f6285c8fc25546c00dd7a3%?703d4a46c000000000004046c0f6285c8fc23546c00dd7a370%?3d2a46c000000000002046c0f6285c8fc21546c00dd7a3703d%?0d46c000000000000046c0f6285c8fc2f545c00dd7a3703dea%?45c00000000000e045c0f6285c8fc2d545c00dd7a3703dca45%?c00000000000c045c0f6285c8fc2b545c00dd7a3703daa45c0%?0000000000a045c0f6285c8fc29545c00dd7a3703d8a45c000%?000000008045c00000000000e049c00dd7a3703dca49c0f628%?5c8fc2b549c00dd7a3703daa49c00000000000a049c0f6285c%?8fc29549c00dd7a3703d8a49c000000000008049c0f6285c8f%?c27549c00dd7a3703d6a49c000000000006049c0f6285c8fc2%?5549c00dd7a3703d4a49c000000000004049c0f6285c8fc235%?49c00dd7a3703d2a49c000000000002049c0f6285c8fc21549%?c00dd7a3703d0d49c000000000000049c0f6285c8fc2f548c0%?0dd7a3703dea48c00000000000e048c0f6285c8fc2d548c00d%?d7a3703dca48c00000000000c048c0f6285c8fc2b548c00dd7%?a3703daa48c00000000000a048c0f6285c8fc27548c00dd7a3%?703d6a48c000000000006048c0f6285c8fc25548c00dd7a370%?3d4a48c000000000004048c0f6285c8fc23548c00dd7a3703d%?2a48c000000000002048c0f6285c8fc21548c00dd7a3703d0d%?48c000000000000048c0f6285c8fc2f547c00dd7a3703dea47%?c00000000000e047c0f6285c8fc2d547c00dd7a3703dca47c0%?0000000000c047c0f6285c8fc2b547c00dd7a3703daa47c000%?00000000a047c0f6285c8fc29547c00dd7a3703d8a47c00000%?0000008047c0f6285c8fc27547c00dd7a3703d6a47c0000000%?00006047c0f6285c8fc25547c00dd7a3703d4a47c000000000%?004047c0f6285c8fc23547c00dd7a3703d2a47c00000000000%?2047c0f6285c8fc21547c00dd7a3703d0d47c0000000000000%?47c0f6285c8fc2f546c00dd7a3703dea46c00000000000e046%?c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046c0%?f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0f6%?285c8fc29546c00dd7a3703d8a46c000000000008046c0f628%?5c8fc27546c00dd7a3703d6a46c000000000006046c0f6285c%?8fc25546c00dd7a3703d4a46c000000000004046c0f6285c8f%?c23546c00dd7a3703d2a46c000000000002046c0f6285c8fc2%?1546c00dd7a3703d0d46c000000000000046c0f6285c8fc2f5%?45c00dd7a3703dea45c00000000000e045c0f6285c8fc2d545%?c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545c0%?0dd7a3703daa45c00000000000a045c0f6285c8fc29545c00d%?d7a3703d8a45c000000000008045c00dd7a3703dea49c0f628%?5c8fc2d549c0f6285c8fc2b549c00dd7a3703daa49c0000000%?0000a049c0f6285c8fc29549c00dd7a3703d8a49c000000000%?008049c0f6285c8fc27549c00dd7a3703d6a49c00000000000%?6049c0f6285c8fc25549c00dd7a3703d4a49c0000000000040%?49c0f6285c8fc23549c00dd7a3703d2a49c000000000002049%?c0f6285c8fc21549c00dd7a3703d0d49c000000000000049c0%?f6285c8fc2f548c00dd7a3703dea48c00000000000e048c0f6%?285c8fc2d548c00dd7a3703dca48c00000000000c048c0f628%?5c8fc2b548c00dd7a3703daa48c00000000000a048c0f6285c%?8fc27548c00dd7a3703d6a48c000000000006048c0f6285c8f%?c25548c00dd7a3703d4a48c000000000004048c0f6285c8fc2%?3548c00dd7a3703d2a48c000000000002048c0f6285c8fc215%?48c00dd7a3703d0d48c000000000000048c0f6285c8fc2f547%?c00dd7a3703dea47c00000000000e047c0f6285c8fc2d547c0%?0dd7a3703dca47c00000000000c047c0f6285c8fc2b547c00d%?d7a3703daa47c00000000000a047c0f6285c8fc29547c00dd7%?a3703d8a47c000000000008047c0f6285c8fc27547c00dd7a3%?703d6a47c000000000006047c0f6285c8fc25547c00dd7a370%?3d4a47c000000000004047c0f6285c8fc23547c00dd7a3703d%?2a47c000000000002047c0f6285c8fc21547c00dd7a3703d0d%?47c000000000000047c0f6285c8fc2f546c00dd7a3703dea46%?c00000000000e046c0f6285c8fc2d546c00dd7a3703dca46c0%?0000000000c046c0f6285c8fc2b546c00dd7a3703daa46c000%?00000000a046c0f6285c8fc29546c00dd7a3703d8a46c00000%?0000008046c0f6285c8fc27546c00dd7a3703d6a46c0000000%?00006046c0f6285c8fc25546c00dd7a3703d4a46c000000000%?004046c0f6285c8fc23546c00dd7a3703d2a46c00000000000%?2046c0f6285c8fc21546c00dd7a3703d0d46c0000000000000%?46c0f6285c8fc2f545c00dd7a3703dea45c00000000000e045%?c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045c0%?f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0f6%?285c8fc29545c00dd7a3703d8a45c000000000008045c00dd7%?a3703dea49c0f6285c8fc2d549c0f6285c8fc2b549c00dd7a3%?703daa49c00000000000a049c0f6285c8fc29549c00dd7a370%?3d8a49c000000000008049c0f6285c8fc27549c00dd7a3703d%?6a49c000000000006049c0f6285c8fc25549c00dd7a3703d4a%?49c000000000004049c0f6285c8fc23549c00dd7a3703d2a49%?c000000000002049c0f6285c8fc21549c00dd7a3703d0d49c0%?00000000000049c0f6285c8fc2f548c00dd7a3703dea48c000%?00000000e048c0f6285c8fc2d548c00dd7a3703dca48c00000%?000000c048c0f6285c8fc2b548c00dd7a3703daa48c0000000%?0000a048c0f6285c8fc27548c00dd7a3703d6a48c000000000%?006048c0f6285c8fc25548c00dd7a3703d4a48c00000000000%?4048c0f6285c8fc23548c00dd7a3703d2a48c0000000000020%?48c0f6285c8fc21548c00dd7a3703d0d48c000000000000048%?c0f6285c8fc2f547c00dd7a3703dea47c00000000000e047c0%?f6285c8fc2d547c00dd7a3703dca47c00000000000c047c0f6%?285c8fc2b547c00dd7a3703daa47c00000000000a047c0f628%?5c8fc29547c00dd7a3703d8a47c000000000008047c0f6285c%?8fc27547c00dd7a3703d6a47c000000000006047c0f6285c8f%?c25547c00dd7a3703d4a47c000000000004047c0f6285c8fc2%?3547c00dd7a3703d2a47c000000000002047c0f6285c8fc215%?47c00dd7a3703d0d47c000000000000047c0f6285c8fc2f546%?c00dd7a3703dea46c00000000000e046c0f6285c8fc2d546c0%?0dd7a3703dca46c00000000000c046c0f6285c8fc2b546c00d%?d7a3703daa46c00000000000a046c0f6285c8fc29546c00dd7%?a3703d8a46c000000000008046c0f6285c8fc27546c00dd7a3%?703d6a46c000000000006046c0f6285c8fc25546c00dd7a370%?3d4a46c000000000004046c0f6285c8fc23546c00dd7a3703d%?2a46c000000000002046c0f6285c8fc21546c00dd7a3703d0d%?46c000000000000046c0f6285c8fc2f545c00dd7a3703dea45%?c00000000000e045c0f6285c8fc2d545c00dd7a3703dca45c0%?0000000000c045c0f6285c8fc2b545c00dd7a3703daa45c000%?00000000a045c0f6285c8fc29545c00dd7a3703d8a45c00000%?0000008045c0f6285c8fc2b549c00dd7a3703daa49c0000000%?0000a049c0f6285c8fc29549c00dd7a3703d8a49c000000000%?008049c0f6285c8fc27549c00dd7a3703d6a49c00000000000%?6049c0f6285c8fc25549c00dd7a3703d4a49c00dd7a3703d0d%?49c000000000000049c0f6285c8fc2f548c00dd7a3703dea48%?c00000000000e048c0f6285c8fc2d548c00dd7a3703dca48c0%?0000000000c048c0f6285c8fc2b548c00dd7a3703daa48c000%?00000000a048c0f6285c8fc27548c00dd7a3703d6a48c00000%?0000006048c0f6285c8fc25548c00dd7a3703d4a48c0000000%?00004048c0f6285c8fc23548c00dd7a3703d2a48c000000000%?002048c0f6285c8fc21548c00dd7a3703d8a47c00000000000%?8047c0f6285c8fc27547c00dd7a3703d6a47c0000000000060%?47c0f6285c8fc25547c00dd7a3703d4a47c000000000004047%?c0f6285c8fc23547c00dd7a3703d2a47c000000000002047c0%?f6285c8fc21547c00dd7a3703d0d47c000000000000047c0f6%?285c8fc2f546c00dd7a3703dea46c00000000000e046c0f628%?5c8fc2d546c00dd7a3703dca46c00000000000c046c0f6285c%?8fc2b546c00dd7a3703daa46c00000000000a046c0f6285c8f%?c29546c00dd7a3703d8a46c000000000008046c0f6285c8fc2%?7546c00dd7a3703d6a46c000000000006046c0f6285c8fc255%?46c00dd7a3703d4a46c000000000004046c0f6285c8fc23546%?c00dd7a3703d2a46c000000000002046c0f6285c8fc21546c0%?0dd7a3703d0d46c000000000000046c0f6285c8fc2f545c00d%?d7a3703dea45c00000000000e045c0f6285c8fc2d545c00dd7%?a3703dca45c00000000000c045c0f6285c8fc2b545c00dd7a3%?703daa45c00000000000a045c0f6285c8fc29545c00dd7a370%?3d8a45c000000000008045c00000000000004ac0f6285c8fc2%?f549c00dd7a3703dea49c00000000000e049c0f6285c8fc2d5%?49c00dd7a3703dca49c00000000000c049c0f6285c8fc2b549%?c00dd7a3703daa49c00000000000a049c0f6285c8fc29549c0%?0dd7a3703d8a49c000000000008049c0f6285c8fc27549c00d%?d7a3703d6a49c000000000006049c0f6285c8fc25549c00dd7%?a3703d4a49c00dd7a3703d0d49c000000000000049c0f6285c%?8fc2f548c00dd7a3703dea48c00000000000e048c0f6285c8f%?c2d548c00dd7a3703dca48c00000000000c048c0f6285c8fc2%?b548c00dd7a3703daa48c00000000000a048c0f6285c8fc295%?48c00dd7a3703d8a48c000000000008048c0f6285c8fc27548%?c00dd7a3703d6a48c000000000006048c0f6285c8fc25548c0%?0dd7a3703d4a48c000000000004048c0f6285c8fc23548c00d%?d7a3703d2a48c000000000002048c00dd7a3703d8a47c00000%?0000008047c0f6285c8fc27547c00dd7a3703d6a47c0000000%?00006047c0f6285c8fc25547c00dd7a3703d4a47c000000000%?004047c0f6285c8fc23547c00dd7a3703d2a47c00000000000%?2047c0f6285c8fc21547c00dd7a3703d0d47c0000000000000%?47c0f6285c8fc2f546c00dd7a3703dea46c00000000000e046%?c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046c0%?f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0f6%?285c8fc29546c00dd7a3703d8a46c000000000008046c0f628%?5c8fc27546c00dd7a3703d6a46c000000000006046c0f6285c%?8fc25546c00dd7a3703d4a46c000000000004046c0f6285c8f%?c23546c00dd7a3703d2a46c000000000002046c0f6285c8fc2%?1546c00dd7a3703d0d46c000000000000046c0f6285c8fc2f5%?45c00dd7a3703dea45c00000000000e045c0f6285c8fc2d545%?c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545c0%?0dd7a3703daa45c00000000000a045c0f6285c8fc29545c00d%?d7a3703d8a45c000000000008045c00000000000004ac0f628%?5c8fc2f549c00dd7a3703dea49c00000000000e049c0f6285c%?8fc2d549c00dd7a3703dca49c00000000000c049c0f6285c8f%?c2b549c00dd7a3703daa49c00000000000a049c0f6285c8fc2%?9549c00dd7a3703d8a49c000000000008049c0f6285c8fc275%?49c00dd7a3703d6a49c000000000006049c0f6285c8fc25549%?c00dd7a3703d4a49c00dd7a3703d0d49c000000000000049c0%?f6285c8fc2f548c00dd7a3703dea48c00000000000e048c0f6%?285c8fc2d548c00dd7a3703dca48c00000000000c048c0f628%?5c8fc2b548c00dd7a3703daa48c00000000000a048c0f6285c%?8fc29548c00dd7a3703d8a48c000000000008048c0f6285c8f%?c27548c00dd7a3703d6a48c000000000006048c0f6285c8fc2%?5548c00dd7a3703d4a48c000000000004048c0f6285c8fc235%?48c00dd7a3703d2a48c000000000006047c0f6285c8fc25547%?c00dd7a3703d4a47c000000000004047c0f6285c8fc23547c0%?0dd7a3703d2a47c000000000002047c0f6285c8fc21547c00d%?d7a3703d0d47c000000000000047c0f6285c8fc2f546c00dd7%?a3703dea46c00000000000e046c0f6285c8fc2d546c00dd7a3%?703dca46c00000000000c046c0f6285c8fc2b546c00dd7a370%?3daa46c00000000000a046c0f6285c8fc29546c00dd7a3703d%?8a46c000000000008046c0f6285c8fc27546c00dd7a3703d6a%?46c000000000006046c0f6285c8fc25546c00dd7a3703d4a46%?c000000000004046c0f6285c8fc23546c00dd7a3703d2a46c0%?00000000002046c0f6285c8fc21546c00dd7a3703d0d46c000%?000000000046c0f6285c8fc2f545c00dd7a3703dea45c00000%?000000e045c0f6285c8fc2d545c00dd7a3703dca45c0000000%?0000c045c0f6285c8fc2b545c00dd7a3703daa45c000000000%?00a045c0f6285c8fc29545c00dd7a3703d8a45c00000000000%?8045c00000000000004ac0f6285c8fc2f549c00dd7a3703dea%?49c00000000000e049c0f6285c8fc2d549c00dd7a3703dca49%?c00000000000c049c0f6285c8fc2b549c00dd7a3703daa49c0%?0000000000a049c0f6285c8fc29549c00dd7a3703d8a49c000%?000000008049c0f6285c8fc27549c00dd7a3703d6a49c00000%?0000006049c0f6285c8fc25549c00dd7a3703d4a49c00dd7a3%?703d0d49c000000000000049c0f6285c8fc2f548c00dd7a370%?3dea48c00000000000e048c0f6285c8fc2d548c00dd7a3703d%?ca48c00000000000c048c0f6285c8fc2b548c00dd7a3703daa%?48c00000000000a048c0f6285c8fc29548c00dd7a3703d8a48%?c000000000008048c0f6285c8fc27548c00dd7a3703d6a48c0%?00000000006048c0f6285c8fc25548c00dd7a3703d4a48c000%?000000004048c0f6285c8fc23548c00dd7a3703d2a48c00000%?0000006047c0f6285c8fc25547c00dd7a3703d4a47c0000000%?00004047c0f6285c8fc23547c00dd7a3703d2a47c000000000%?002047c0f6285c8fc21547c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00000000000004ac0f6%?285c8fc2f549c00dd7a3703dea49c00000000000e049c0f628%?5c8fc2d549c00dd7a3703dca49c00000000000c049c0f6285c%?8fc2b549c00dd7a3703daa49c00000000000a049c0f6285c8f%?c29549c00dd7a3703d8a49c000000000008049c0f6285c8fc2%?7549c00dd7a3703d6a49c000000000006049c0f6285c8fc255%?49c00dd7a3703d4a49c00dd7a3703d0d49c000000000000049%?c0f6285c8fc2f548c00dd7a3703dea48c00000000000e048c0%?f6285c8fc2d548c00dd7a3703dca48c00000000000c048c0f6%?285c8fc2b548c00dd7a3703daa48c00000000000a048c0f628%?5c8fc29548c00dd7a3703d8a48c000000000008048c0f6285c%?8fc27548c00dd7a3703d6a48c000000000006048c0f6285c8f%?c25548c00dd7a3703d4a48c000000000004048c0f6285c8fc2%?3548c00dd7a3703d2a48c000000000006047c00dd7a3703d0d%?47c000000000000047c0f6285c8fc2f546c00dd7a3703dea46%?c00000000000e046c0f6285c8fc2d546c00dd7a3703dca46c0%?0000000000c046c0f6285c8fc2b546c00dd7a3703daa46c000%?00000000a046c0f6285c8fc29546c00dd7a3703d8a46c00000%?0000008046c0f6285c8fc27546c00dd7a3703d6a46c0000000%?00006046c0f6285c8fc25546c00dd7a3703d4a46c000000000%?004046c0f6285c8fc23546c00dd7a3703d2a46c00000000000%?2046c0f6285c8fc21546c00dd7a3703d0d46c0000000000000%?46c0f6285c8fc2f545c00dd7a3703dea45c00000000000e045%?c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045c0%?f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0f6%?285c8fc29545c00dd7a3703d8a45c000000000008045c00000%?000000004ac0f6285c8fc2f549c00dd7a3703dea49c0000000%?0000e049c0f6285c8fc2d549c00dd7a3703dca49c000000000%?00c049c0f6285c8fc2b549c00dd7a3703daa49c00000000000%?a049c0f6285c8fc29549c00dd7a3703d8a49c0000000000080%?49c0f6285c8fc27549c00dd7a3703d6a49c000000000006049%?c0f6285c8fc25549c00dd7a3703d4a49c000000000004049c0%?f6285c8fc23549c00dd7a3703d0d49c000000000000049c0f6%?285c8fc2f548c00dd7a3703dea48c00000000000e048c0f628%?5c8fc2d548c00dd7a3703dca48c00000000000c048c0f6285c%?8fc2b548c00dd7a3703daa48c00000000000a048c0f6285c8f%?c29548c00dd7a3703d8a48c000000000008048c0f6285c8fc2%?7548c00dd7a3703d6a48c000000000006048c0f6285c8fc255%?48c00dd7a3703d4a48c000000000004048c000000000006047%?c00dd7a3703d0d47c000000000000047c0f6285c8fc2f546c0%?0dd7a3703dea46c00000000000e046c0f6285c8fc2d546c00d%?d7a3703dca46c00000000000c046c0f6285c8fc2b546c00dd7%?a3703daa46c00000000000a046c0f6285c8fc29546c00dd7a3%?703d8a46c000000000008046c0f6285c8fc27546c00dd7a370%?3d6a46c000000000006046c0f6285c8fc25546c00dd7a3703d%?4a46c000000000004046c0f6285c8fc23546c00dd7a3703d2a%?46c000000000002046c0f6285c8fc21546c00dd7a3703d0d46%?c000000000000046c0f6285c8fc2f545c00dd7a3703dea45c0%?0000000000e045c0f6285c8fc2d545c00dd7a3703dca45c000%?00000000c045c0f6285c8fc2b545c00dd7a3703daa45c00000%?000000a045c0f6285c8fc29545c00dd7a3703d8a45c0000000%?00008045c00000000000004ac0f6285c8fc2f549c00dd7a370%?3dea49c00000000000e049c0f6285c8fc2d549c00dd7a3703d%?ca49c00000000000c049c0f6285c8fc2b549c00dd7a3703daa%?49c00000000000a049c0f6285c8fc29549c00dd7a3703d8a49%?c000000000008049c0f6285c8fc27549c00dd7a3703d6a49c0%?00000000006049c0f6285c8fc25549c00dd7a3703d4a49c000%?000000004049c0f6285c8fc23549c00dd7a3703d0d49c00000%?0000000049c0f6285c8fc2f548c00dd7a3703dea48c0000000%?0000e048c0f6285c8fc2d548c00dd7a3703dca48c000000000%?00c048c0f6285c8fc2b548c00dd7a3703daa48c00000000000%?a048c0f6285c8fc29548c00dd7a3703d8a48c0000000000080%?48c0f6285c8fc27548c00dd7a3703d6a48c000000000006048%?c0f6285c8fc25548c00dd7a3703d4a48c000000000004048c0%?0dd7a3703d0d47c000000000000047c0f6285c8fc2f546c00d%?d7a3703dea46c00000000000e046c0f6285c8fc2d546c00dd7%?a3703dca46c00000000000c046c0f6285c8fc2b546c00dd7a3%?703daa46c00000000000a046c0f6285c8fc29546c00dd7a370%?3d8a46c000000000008046c0f6285c8fc27546c00dd7a3703d%?6a46c000000000006046c0f6285c8fc25546c00dd7a3703d4a%?46c000000000004046c0f6285c8fc23546c00dd7a3703d2a46%?c000000000002046c0f6285c8fc21546c00dd7a3703d0d46c0%?00000000000046c0f6285c8fc2f545c00dd7a3703dea45c000%?00000000e045c0f6285c8fc2d545c00dd7a3703dca45c00000%?000000c045c0f6285c8fc2b545c00dd7a3703daa45c0000000%?0000a045c0f6285c8fc29545c00dd7a3703d8a45c000000000%?008045c00000000000004ac0f6285c8fc2f549c00dd7a3703d%?ea49c00000000000e049c0f6285c8fc2d549c00dd7a3703dca%?49c00000000000c049c0f6285c8fc2b549c00dd7a3703daa49%?c00000000000a049c0f6285c8fc29549c00dd7a3703d8a49c0%?00000000008049c0f6285c8fc27549c00dd7a3703d6a49c000%?000000006049c0f6285c8fc25549c00dd7a3703d4a49c00000%?0000004049c0f6285c8fc23549c00dd7a3703d2a49c0000000%?00002049c0f6285c8fc21549c00dd7a3703d0d49c000000000%?000049c0f6285c8fc2f548c00dd7a3703dea48c00000000000%?e048c0f6285c8fc2d548c00dd7a3703dca48c00000000000c0%?48c0f6285c8fc2b548c00dd7a3703daa48c00000000000a048%?c0f6285c8fc29548c00dd7a3703d8a48c000000000008048c0%?f6285c8fc27548c00dd7a3703d6a48c000000000006048c0f6%?285c8fc25548c00dd7a3703d4a48c000000000004048c0f628%?5c8fc23548c00dd7a3703d0d47c000000000000047c0f6285c%?8fc2f546c00dd7a3703dea46c00000000000e046c0f6285c8f%?c2d546c00dd7a3703dca46c00000000000c046c0f6285c8fc2%?b546c00dd7a3703daa46c00000000000a046c0f6285c8fc295%?46c00dd7a3703d8a46c000000000008046c0f6285c8fc27546%?c00dd7a3703d6a46c000000000006046c0f6285c8fc25546c0%?0dd7a3703d4a46c000000000004046c0f6285c8fc23546c00d%?d7a3703d2a46c000000000002046c0f6285c8fc21546c00dd7%?a3703d0d46c000000000000046c0f6285c8fc2f545c00dd7a3%?703dea45c00000000000e045c0f6285c8fc2d545c00dd7a370%?3dca45c00000000000c045c0f6285c8fc2b545c00dd7a3703d%?aa45c00000000000a045c0f6285c8fc29545c00dd7a3703d8a%?45c000000000008045c00000000000004ac0f6285c8fc2f549%?c00dd7a3703dea49c00000000000e049c0f6285c8fc2d549c0%?0dd7a3703dca49c00000000000c049c0f6285c8fc2b549c00d%?d7a3703daa49c00000000000a049c0f6285c8fc29549c00dd7%?a3703d8a49c000000000008049c0f6285c8fc27549c00dd7a3%?703d6a49c000000000006049c0f6285c8fc25549c00dd7a370%?3d4a49c000000000004049c0f6285c8fc23549c00dd7a3703d%?2a49c000000000002049c0f6285c8fc21549c00dd7a3703d0d%?49c000000000000049c0f6285c8fc2f548c00dd7a3703dea48%?c00000000000e048c0f6285c8fc2d548c00dd7a3703dca48c0%?0000000000c048c0f6285c8fc2b548c00dd7a3703daa48c000%?00000000a048c0f6285c8fc29548c00dd7a3703d8a48c00000%?0000008048c0f6285c8fc27548c00dd7a3703d6a48c0f6285c%?8fc25548c00dd7a3703d4a48c000000000004048c00dd7a370%?3d0d47c000000000000047c0f6285c8fc2f546c00dd7a3703d%?ea46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca%?46c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46%?c00000000000a046c0f6285c8fc29546c00dd7a3703d8a46c0%?00000000008046c0f6285c8fc27546c00dd7a3703d6a46c000%?000000006046c0f6285c8fc25546c00dd7a3703d4a46c00000%?0000004046c0f6285c8fc23546c00dd7a3703d2a46c0000000%?00002046c0f6285c8fc21546c00dd7a3703d0d46c000000000%?000046c0f6285c8fc2f545c00dd7a3703dea45c00000000000%?e045c0f6285c8fc2d545c00dd7a3703dca45c00000000000c0%?45c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045%?c0f6285c8fc29545c00dd7a3703d8a45c000000000008045c0%?0000000000004ac0f6285c8fc2f549c00dd7a3703dea49c000%?00000000e049c0f6285c8fc2d549c00dd7a3703dca49c00000%?000000c049c0f6285c8fc2b549c00dd7a3703daa49c0000000%?0000a049c0f6285c8fc29549c00dd7a3703d8a49c000000000%?008049c0f6285c8fc27549c00dd7a3703d6a49c00000000000%?6049c0f6285c8fc25549c00dd7a3703d4a49c0000000000040%?49c0f6285c8fc23549c00dd7a3703d2a49c000000000002049%?c0f6285c8fc21549c00dd7a3703d0d49c000000000000049c0%?f6285c8fc2f548c00dd7a3703dea48c00000000000e048c0f6%?285c8fc2d548c00dd7a3703dca48c00000000000c048c0f628%?5c8fc2b548c00dd7a3703daa48c00000000000a048c0f6285c%?8fc29548c00dd7a3703d8a48c000000000008048c0f6285c8f%?c27548c00dd7a3703d4a48c00dd7a3703d0d47c00000000000%?0047c0f6285c8fc2f546c00dd7a3703dea46c00000000000e0%?46c0f6285c8fc2d546c00dd7a3703dca46c00000000000c046%?c0f6285c8fc2b546c00dd7a3703daa46c00000000000a046c0%?f6285c8fc29546c00dd7a3703d8a46c000000000008046c0f6%?285c8fc27546c00dd7a3703d6a46c000000000006046c0f628%?5c8fc25546c00dd7a3703d4a46c000000000004046c0f6285c%?8fc23546c00dd7a3703d2a46c000000000002046c0f6285c8f%?c21546c00dd7a3703d0d46c000000000000046c0f6285c8fc2%?f545c00dd7a3703dea45c00000000000e045c0f6285c8fc2d5%?45c00dd7a3703dca45c00000000000c045c0f6285c8fc2b545%?c00dd7a3703daa45c00000000000a045c0f6285c8fc29545c0%?0dd7a3703d8a45c000000000008045c00000000000004ac0f6%?285c8fc2f549c00dd7a3703dea49c00000000000e049c0f628%?5c8fc2d549c00dd7a3703dca49c00000000000c049c0f6285c%?8fc2b549c00dd7a3703daa49c00000000000a049c0f6285c8f%?c29549c00dd7a3703d8a49c000000000008049c0f6285c8fc2%?7549c00dd7a3703d6a49c000000000006049c0f6285c8fc255%?49c00dd7a3703d4a49c000000000004049c0f6285c8fc23549%?c00dd7a3703d2a49c000000000002049c0f6285c8fc21549c0%?0dd7a3703d0d49c000000000000049c0f6285c8fc2f548c00d%?d7a3703dea48c00000000000e048c0f6285c8fc2d548c00dd7%?a3703dca48c00000000000c048c0f6285c8fc2b548c00dd7a3%?703daa48c00000000000a048c0f6285c8fc29548c00dd7a370%?3d8a48c000000000008048c0f6285c8fc27548c00dd7a3703d%?0d47c000000000000047c0f6285c8fc2f546c00dd7a3703dea%?46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca46%?c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46c0%?0000000000a046c0f6285c8fc29546c00dd7a3703d8a46c000%?000000008046c0f6285c8fc27546c00dd7a3703d6a46c00000%?0000006046c0f6285c8fc25546c00dd7a3703d4a46c0000000%?00004046c0f6285c8fc23546c00dd7a3703d2a46c000000000%?002046c0f6285c8fc21546c00dd7a3703d0d46c00000000000%?0046c0f6285c8fc2f545c00dd7a3703dea45c00000000000e0%?45c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045%?c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0%?f6285c8fc29545c00dd7a3703d8a45c000000000008045c000%?00000000004ac0f6285c8fc2f549c00dd7a3703dea49c00000%?000000e049c0f6285c8fc2d549c00dd7a3703dca49c0000000%?0000c049c0f6285c8fc2b549c00dd7a3703daa49c000000000%?00a049c0f6285c8fc29549c00dd7a3703d8a49c00000000000%?8049c0f6285c8fc27549c00dd7a3703d6a49c0000000000060%?49c0f6285c8fc25549c00dd7a3703d4a49c000000000004049%?c0f6285c8fc23549c00dd7a3703d2a49c000000000002049c0%?f6285c8fc21549c00dd7a3703d0d49c000000000000049c0f6%?285c8fc2f548c00dd7a3703dea48c00000000000e048c0f628%?5c8fc2d548c00dd7a3703dca48c00000000000c048c0f6285c%?8fc2b548c00dd7a3703daa48c00000000000a048c0f6285c8f%?c29548c00dd7a3703d8a48c000000000008048c00dd7a3703d%?0d47c000000000000047c0f6285c8fc2f546c00dd7a3703dea%?46c00000000000e046c0f6285c8fc2d546c00dd7a3703dca46%?c00000000000c046c0f6285c8fc2b546c00dd7a3703daa46c0%?0000000000a046c0f6285c8fc29546c00dd7a3703d8a46c000%?000000008046c0f6285c8fc27546c00dd7a3703d6a46c00000%?0000006046c0f6285c8fc25546c00dd7a3703d4a46c0000000%?00004046c0f6285c8fc23546c00dd7a3703d2a46c000000000%?002046c0f6285c8fc21546c00dd7a3703d0d46c00000000000%?0046c0f6285c8fc2f545c00dd7a3703dea45c00000000000e0%?45c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045%?c0f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0%?f6285c8fc29545c00dd7a3703d8a45c000000000008045c000%?00000000004ac0f6285c8fc2f549c00dd7a3703dea49c00000%?000000e049c0f6285c8fc2d549c00dd7a3703dca49c0000000%?0000c049c0f6285c8fc2b549c00dd7a3703daa49c000000000%?00a049c0f6285c8fc29549c00dd7a3703d8a49c0f6285c8fc2%?5549c00dd7a3703d4a49c000000000004049c0f6285c8fc235%?49c00dd7a3703d2a49c00dd7a3703d0d49c000000000000049%?c0f6285c8fc2f548c00dd7a3703dea48c0f6285c8fc2d548c0%?0dd7a3703dca48c00000000000c048c0f6285c8fc2b548c00d%?d7a3703daa48c00000000000a048c00dd7a3703d8a46c00000%?0000008046c0f6285c8fc27546c00dd7a3703d6a46c0000000%?00006046c0f6285c8fc25546c00dd7a3703d4a46c000000000%?004046c0f6285c8fc23546c00dd7a3703d2a46c00000000000%?2046c0f6285c8fc21546c00dd7a3703d0d46c0000000000000%?46c0f6285c8fc2f545c00dd7a3703dea45c00000000000e045%?c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045c0%?f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0f6%?285c8fc29545c00dd7a3703d8a45c000000000008045c00000%?000000004ac0f6285c8fc2f549c00dd7a3703dea49c0000000%?0000e049c0f6285c8fc2d549c00dd7a3703dca49c000000000%?00c049c0f6285c8fc2b549c00dd7a3703daa49c00000000000%?a049c0f6285c8fc29549c00dd7a3703d8a49c00dd7a3703d4a%?49c000000000004049c0f6285c8fc23549c00dd7a3703d2a49%?c00dd7a3703d0d49c000000000000049c0f6285c8fc2f548c0%?0000000000e048c00dd7a3703dca48c00000000000c048c0f6%?285c8fc2b548c00dd7a3703daa48c00dd7a3703d8a46c00000%?0000008046c0f6285c8fc27546c00dd7a3703d6a46c0000000%?00006046c0f6285c8fc25546c00dd7a3703d4a46c000000000%?004046c0f6285c8fc23546c00dd7a3703d2a46c00000000000%?2046c0f6285c8fc21546c00dd7a3703d0d46c0000000000000%?46c0f6285c8fc2f545c00dd7a3703dea45c00000000000e045%?c0f6285c8fc2d545c00dd7a3703dca45c00000000000c045c0%?f6285c8fc2b545c00dd7a3703daa45c00000000000a045c0f6%?285c8fc29545c00dd7a3703d8a45c000000000008045c00e00%?00006825010006000000080000000600000000000000050000%?0008000000a624000001000000010000000600000079626174%?68790000090000003025010000000000000018400000000000%?00184000000000000018400000000000001840000000000000%?18400000000000001840000000000000184000000000000018%?40000000000000184000000000000018400000000000001840%?00000000000018400000000000001840000000000000184000%?00000000001840000000000000184000000000000018400000%?00000000184000000000000018400000000000001840000000%?00000018400000000000001840000000000000184000000000%?00001840000000000000184000000000000018400000000000%?00184000000000000018400000000000001840000000000000%?18400000000000001840000000000000184000000000000018%?40000000000000184000000000000018400000000000001840%?00000000000018400000000000001840000000000000184000%?00000000001840000000000000184000000000000018400000%?00000000184000000000000018400000000000001840000000%?00000018400000000000001840000000000000184000000000%?00001840000000000000184000000000000018400000000000%?00184000000000000018400000000000001840000000000000%?18400000000000001840000000000000184000000000000018%?40000000000000184000000000000018400000000000001840%?00000000000018400000000000001840000000000000184000%?00000000001840000000000000184000000000000018400000%?00000000184000000000000018400000000000001840000000%?00000018400000000000001840000000000000184000000000%?00001840000000000000184000000000000018400000000000%?00184000000000000018400000000000001840000000000000%?18400000000000001840000000000000184000000000000018%?40000000000000184000000000000018400000000000001840%?00000000000018400000000000001840000000000000184000%?00000000001840000000000000184000000000000018400000%?00000000184000000000000018400000000000001840000000%?00000018400000000000001840000000000000184000000000%?00001840000000000000184000000000000018400000000000%?00184000000000000018400000000000001840000000000000%?18400000000000001840000000000000184000000000000018%?400000000000001840ae47e17a14ae1740ae47e17a14ae1740%?ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae%?47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47%?e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e1%?7a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a%?14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14%?ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae%?1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae17%?40ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740%?ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae%?47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47%?e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e1%?7a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a%?14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14%?ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae%?1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae17%?40ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740%?ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae%?47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47%?e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e1%?7a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a%?14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14%?ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae%?1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae17%?40ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740%?ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae%?47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47%?e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e1%?7a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a%?14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14%?ae1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae%?1740ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae17%?40ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740%?ae47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae%?47e17a14ae1740ae47e17a14ae1740ae47e17a14ae1740ae47%?e17a14ae174052b81e85eb51174052b81e85eb51174052b81e%?85eb51174052b81e85eb51174052b81e85eb51174052b81e85%?eb51174052b81e85eb51174052b81e85eb51174052b81e85eb%?51174052b81e85eb51174052b81e85eb51174052b81e85eb51%?174052b81e85eb51174052b81e85eb51174052b81e85eb5117%?4052b81e85eb51174052b81e85eb51174052b81e85eb511740%?52b81e85eb51174052b81e85eb51174052b81e85eb51174052%?b81e85eb51174052b81e85eb51174052b81e85eb51174052b8%?1e85eb51174052b81e85eb51174052b81e85eb51174052b81e%?85eb51174052b81e85eb51174052b81e85eb51174052b81e85%?eb51174052b81e85eb51174052b81e85eb51174052b81e85eb%?51174052b81e85eb51174052b81e85eb51174052b81e85eb51%?174052b81e85eb51174052b81e85eb51174052b81e85eb5117%?4052b81e85eb51174052b81e85eb51174052b81e85eb511740%?52b81e85eb51174052b81e85eb51174052b81e85eb51174052%?b81e85eb51174052b81e85eb51174052b81e85eb51174052b8%?1e85eb51174052b81e85eb51174052b81e85eb51174052b81e%?85eb51174052b81e85eb51174052b81e85eb51174052b81e85%?eb51174052b81e85eb51174052b81e85eb51174052b81e85eb%?51174052b81e85eb51174052b81e85eb51174052b81e85eb51%?174052b81e85eb51174052b81e85eb51174052b81e85eb5117%?4052b81e85eb51174052b81e85eb51174052b81e85eb511740%?52b81e85eb51174052b81e85eb51174052b81e85eb51174052%?b81e85eb51174052b81e85eb51174052b81e85eb51174052b8%?1e85eb51174052b81e85eb51174052b81e85eb51174052b81e%?85eb51174052b81e85eb51174052b81e85eb51174052b81e85%?eb51174052b81e85eb51174052b81e85eb51174052b81e85eb%?51174052b81e85eb51174052b81e85eb51174052b81e85eb51%?174052b81e85eb51174052b81e85eb51174052b81e85eb5117%?4052b81e85eb51174052b81e85eb51174052b81e85eb511740%?52b81e85eb51174052b81e85eb51174052b81e85eb51174052%?b81e85eb51174052b81e85eb51174052b81e85eb51174052b8%?1e85eb51174052b81e85eb51174052b81e85eb51174052b81e%?85eb51174052b81e85eb51174052b81e85eb51174052b81e85%?eb51174052b81e85eb51174052b81e85eb51174052b81e85eb%?51174000000000000017400000000000001740000000000000%?17400000000000001740000000000000174000000000000017%?40000000000000174000000000000017400000000000001740%?00000000000017400000000000001740000000000000174000%?00000000001740000000000000174000000000000017400000%?00000000174000000000000017400000000000001740000000%?00000017400000000000001740000000000000174000000000%?00001740000000000000174000000000000017400000000000%?00174000000000000017400000000000001740000000000000%?17400000000000001740000000000000174000000000000017%?40000000000000174000000000000017400000000000001740%?00000000000017400000000000001740000000000000174000%?00000000001740000000000000174000000000000017400000%?00000000174000000000000017400000000000001740000000%?00000017400000000000001740000000000000174000000000%?00001740000000000000174000000000000017400000000000%?00174000000000000017400000000000001740000000000000%?17400000000000001740000000000000174000000000000017%?40000000000000174000000000000017400000000000001740%?00000000000017400000000000001740000000000000174000%?00000000001740000000000000174000000000000017400000%?00000000174000000000000017400000000000001740000000%?00000017400000000000001740000000000000174000000000%?00001740000000000000174000000000000017400000000000%?00174000000000000017400000000000001740000000000000%?17400000000000001740000000000000174000000000000017%?40000000000000174000000000000017400000000000001740%?00000000000017400000000000001740000000000000174000%?00000000001740000000000000174000000000000017400000%?00000000174000000000000017400000000000001740000000%?00000017400000000000001740000000000000174000000000%?00001740000000000000174000000000000017400000000000%?00174000000000000017400000000000001740000000000000%?17400000000000001740000000000000174000000000000017%?40000000000000174000000000000017400000000000001740%?ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae%?47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47%?e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e1%?7a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a%?14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14%?ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae%?1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae16%?40ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640%?ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae%?47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47%?e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e1%?7a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a%?14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14%?ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae%?1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae16%?40ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640%?ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae%?47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47%?e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e1%?7a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a%?14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14%?ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae%?1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae16%?40ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640%?ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae%?47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47%?e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e1%?7a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a%?14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14%?ae1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae%?1640ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae16%?40ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640%?ae47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae%?47e17a14ae1640ae47e17a14ae1640ae47e17a14ae1640ae47%?e17a14ae1640ae47e17a14ae1640ae47e17a14ae164052b81e%?85eb51164052b81e85eb51164052b81e85eb51164052b81e85%?eb51164052b81e85eb51164052b81e85eb51164052b81e85eb%?51164052b81e85eb51164052b81e85eb51164052b81e85eb51%?164052b81e85eb51164052b81e85eb51164052b81e85eb5116%?4052b81e85eb51164052b81e85eb51164052b81e85eb511640%?52b81e85eb51164052b81e85eb51164052b81e85eb51164052%?b81e85eb51164052b81e85eb51164052b81e85eb51164052b8%?1e85eb51164052b81e85eb51164052b81e85eb51164052b81e%?85eb51164052b81e85eb51164052b81e85eb51164052b81e85%?eb51164052b81e85eb51164052b81e85eb51164052b81e85eb%?51164052b81e85eb51164052b81e85eb51164052b81e85eb51%?164052b81e85eb51164052b81e85eb51164052b81e85eb5116%?4052b81e85eb51164052b81e85eb51164052b81e85eb511640%?52b81e85eb51164052b81e85eb51164052b81e85eb51164052%?b81e85eb51164052b81e85eb51164052b81e85eb51164052b8%?1e85eb51164052b81e85eb51164052b81e85eb51164052b81e%?85eb51164052b81e85eb51164052b81e85eb51164052b81e85%?eb51164052b81e85eb51164052b81e85eb51164052b81e85eb%?51164052b81e85eb51164052b81e85eb51164052b81e85eb51%?164052b81e85eb51164052b81e85eb51164052b81e85eb5116%?4052b81e85eb51164052b81e85eb51164052b81e85eb511640%?52b81e85eb51164052b81e85eb51164052b81e85eb51164052%?b81e85eb51164052b81e85eb51164052b81e85eb51164052b8%?1e85eb51164052b81e85eb51164052b81e85eb51164052b81e%?85eb51164052b81e85eb51164052b81e85eb51164052b81e85%?eb51164052b81e85eb51164052b81e85eb51164052b81e85eb%?51164052b81e85eb51164052b81e85eb51164052b81e85eb51%?164052b81e85eb51164052b81e85eb51164052b81e85eb5116%?4052b81e85eb51164052b81e85eb51164052b81e85eb511640%?52b81e85eb51164052b81e85eb51164052b81e85eb51164052%?b81e85eb51164052b81e85eb51164052b81e85eb51164052b8%?1e85eb51164052b81e85eb51164052b81e85eb51164052b81e%?85eb51164052b81e85eb51164052b81e85eb51164052b81e85%?eb51164052b81e85eb51164052b81e85eb51164052b81e85eb%?51164052b81e85eb51164052b81e85eb511640000000000000%?16400000000000001640000000000000164000000000000016%?40000000000000164000000000000016400000000000001640%?00000000000016400000000000001640000000000000164000%?00000000001640000000000000164000000000000016400000%?00000000164000000000000016400000000000001640000000%?00000016400000000000001640000000000000164000000000%?00001640000000000000164000000000000016400000000000%?00164000000000000016400000000000001640000000000000%?16400000000000001640000000000000164000000000000016%?40000000000000164000000000000016400000000000001640%?00000000000016400000000000001640000000000000164000%?00000000001640000000000000164000000000000016400000%?00000000164000000000000016400000000000001640000000%?00000016400000000000001640000000000000164000000000%?00001640000000000000164000000000000016400000000000%?00164000000000000016400000000000001640000000000000%?16400000000000001640000000000000164000000000000016%?40000000000000164000000000000016400000000000001640%?00000000000016400000000000001640000000000000164000%?00000000001640000000000000164000000000000016400000%?00000000164000000000000016400000000000001640000000%?00000016400000000000001640000000000000164000000000%?00001640000000000000164000000000000016400000000000%?00164000000000000016400000000000001640000000000000%?16400000000000001640000000000000164000000000000016%?40000000000000164000000000000016400000000000001640%?00000000000016400000000000001640000000000000164000%?00000000001640000000000000164000000000000016400000%?00000000164000000000000016400000000000001640000000%?00000016400000000000001640000000000000164000000000%?00001640000000000000164000000000000016400000000000%?00164000000000000016400000000000001640000000000000%?16400000000000001640000000000000164000000000000016%?40000000000000164000000000000016400000000000001640%?00000000000016400000000000001640ae47e17a14ae1540ae%?47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47%?e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e1%?7a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a%?14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14%?ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae%?1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae15%?40ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540%?ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae%?47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47%?e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e1%?7a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a%?14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14%?ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae%?1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae15%?40ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540%?ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae%?47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47%?e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e1%?7a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a%?14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14%?ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae%?1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae15%?40ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540%?ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae%?47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47%?e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e1%?7a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a%?14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14%?ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae%?1540ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae15%?40ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540%?ae47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae%?47e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47%?e17a14ae1540ae47e17a14ae1540ae47e17a14ae1540ae47e1%?7a14ae1540ae47e17a14ae154052b81e85eb51154052b81e85%?eb51154052b81e85eb51154052b81e85eb51154052b81e85eb%?51154052b81e85eb51154052b81e85eb51154052b81e85eb51%?154052b81e85eb51154052b81e85eb51154052b81e85eb5115%?4052b81e85eb51154052b81e85eb51154052b81e85eb511540%?52b81e85eb51154052b81e85eb51154052b81e85eb51154052%?b81e85eb51154052b81e85eb51154052b81e85eb51154052b8%?1e85eb51154052b81e85eb51154052b81e85eb51154052b81e%?85eb51154052b81e85eb51154052b81e85eb51154052b81e85%?eb51154052b81e85eb51154052b81e85eb51154052b81e85eb%?51154052b81e85eb51154052b81e85eb51154052b81e85eb51%?154052b81e85eb51154052b81e85eb51154052b81e85eb5115%?4052b81e85eb51154052b81e85eb51154052b81e85eb511540%?52b81e85eb51154052b81e85eb51154052b81e85eb51154052%?b81e85eb51154052b81e85eb51154052b81e85eb51154052b8%?1e85eb51154052b81e85eb51154052b81e85eb51154052b81e%?85eb51154052b81e85eb51154052b81e85eb51154052b81e85%?eb51154052b81e85eb51154052b81e85eb51154052b81e85eb%?51154052b81e85eb51154052b81e85eb51154052b81e85eb51%?154052b81e85eb51154052b81e85eb51154052b81e85eb5115%?4052b81e85eb51154052b81e85eb51154052b81e85eb511540%?52b81e85eb51154052b81e85eb51154052b81e85eb51154052%?b81e85eb51154052b81e85eb51154052b81e85eb51154052b8%?1e85eb51154052b81e85eb51154052b81e85eb51154052b81e%?85eb51154052b81e85eb51154052b81e85eb51154052b81e85%?eb51154052b81e85eb51154052b81e85eb51154052b81e85eb%?51154052b81e85eb51154052b81e85eb51154052b81e85eb51%?154052b81e85eb51154052b81e85eb51154052b81e85eb5115%?4052b81e85eb51154052b81e85eb51154052b81e85eb511540%?52b81e85eb51154052b81e85eb51154052b81e85eb51154052%?b81e85eb51154052b81e85eb51154052b81e85eb51154052b8%?1e85eb51154052b81e85eb51154052b81e85eb51154052b81e%?85eb51154052b81e85eb51154052b81e85eb51154052b81e85%?eb51154052b81e85eb51154052b81e85eb51154052b81e85eb%?51154052b81e85eb51154052b81e85eb51154052b81e85eb51%?154052b81e85eb511540000000000000154000000000000015%?40000000000000154000000000000015400000000000001540%?00000000000015400000000000001540000000000000154000%?00000000001540000000000000154000000000000015400000%?00000000154000000000000015400000000000001540000000%?00000015400000000000001540000000000000154000000000%?00001540000000000000154000000000000015400000000000%?00154000000000000015400000000000001540000000000000%?15400000000000001540000000000000154000000000000015%?40000000000000154000000000000015400000000000001540%?00000000000015400000000000001540000000000000154000%?00000000001540000000000000154000000000000015400000%?00000000154000000000000015400000000000001540000000%?00000015400000000000001540000000000000154000000000%?00001540000000000000154000000000000015400000000000%?00154000000000000015400000000000001540000000000000%?15400000000000001540000000000000154000000000000015%?40000000000000154000000000000015400000000000001540%?00000000000015400000000000001540000000000000154000%?00000000001540000000000000154000000000000015400000%?00000000154000000000000015400000000000001540000000%?00000015400000000000001540000000000000154000000000%?00001540000000000000154000000000000015400000000000%?00154000000000000015400000000000001540000000000000%?15400000000000001540000000000000154000000000000015%?40000000000000154000000000000015400000000000001540%?00000000000015400000000000001540000000000000154000%?00000000001540000000000000154000000000000015400000%?00000000154000000000000015400000000000001540000000%?00000015400000000000001540000000000000154000000000%?00001540000000000000154000000000000015400000000000%?00154000000000000015400000000000001540000000000000%?15400000000000001540000000000000154000000000000015%?40000000000000154000000000000015400000000000001540%?00000000000015400000000000001540000000000000154000%?00000000001540ae47e17a14ae1440ae47e17a14ae1440ae47%?e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e1%?7a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a%?14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14%?ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae%?1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae14%?40ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440%?ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae%?47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47%?e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e1%?7a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a%?14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14%?ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae%?1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae14%?40ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440%?ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae%?47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47%?e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e1%?7a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a%?14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14%?ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae%?1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae14%?40ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440%?ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae%?47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47%?e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e1%?7a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a%?14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14%?ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae%?1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae14%?40ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440%?ae47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae%?47e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47%?e17a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e1%?7a14ae1440ae47e17a14ae1440ae47e17a14ae1440ae47e17a%?14ae144052b81e85eb51144052b81e85eb51144052b81e85eb%?51144052b81e85eb51144052b81e85eb51144052b81e85eb51%?144052b81e85eb51144052b81e85eb51144052b81e85eb5114%?4052b81e85eb51144052b81e85eb51144052b81e85eb511440%?52b81e85eb51144052b81e85eb51144052b81e85eb51144052%?b81e85eb51144052b81e85eb51144052b81e85eb51144052b8%?1e85eb51144052b81e85eb51144052b81e85eb51144052b81e%?85eb51144052b81e85eb51144052b81e85eb51144052b81e85%?eb51144052b81e85eb51144052b81e85eb51144052b81e85eb%?51144052b81e85eb51144052b81e85eb51144052b81e85eb51%?144052b81e85eb51144052b81e85eb51144052b81e85eb5114%?4052b81e85eb51144052b81e85eb51144052b81e85eb511440%?52b81e85eb51144052b81e85eb51144052b81e85eb51144052%?b81e85eb51144052b81e85eb51144052b81e85eb51144052b8%?1e85eb51144052b81e85eb51144052b81e85eb51144052b81e%?85eb51144052b81e85eb51144052b81e85eb51144052b81e85%?eb51144052b81e85eb51144052b81e85eb51144052b81e85eb%?51144052b81e85eb51144052b81e85eb51144052b81e85eb51%?144052b81e85eb51144052b81e85eb51144052b81e85eb5114%?4052b81e85eb51144052b81e85eb51144052b81e85eb511440%?52b81e85eb51144052b81e85eb51144052b81e85eb51144052%?b81e85eb51144052b81e85eb51144052b81e85eb51144052b8%?1e85eb51144052b81e85eb51144052b81e85eb51144052b81e%?85eb51144052b81e85eb51144052b81e85eb51144052b81e85%?eb51144052b81e85eb51144052b81e85eb51144052b81e85eb%?51144052b81e85eb51144052b81e85eb51144052b81e85eb51%?144052b81e85eb51144052b81e85eb51144052b81e85eb5114%?4052b81e85eb51144052b81e85eb51144052b81e85eb511440%?52b81e85eb51144052b81e85eb51144052b81e85eb51144052%?b81e85eb51144052b81e85eb51144052b81e85eb51144052b8%?1e85eb51144052b81e85eb51144052b81e85eb51144052b81e%?85eb51144052b81e85eb51144052b81e85eb51144052b81e85%?eb51144052b81e85eb51144052b81e85eb51144052b81e85eb%?51144052b81e85eb51144052b81e85eb51144052b81e85eb51%?144052b81e85eb51144052b81e85eb51144052b81e85eb5114%?40000000000000144000000000000014400000000000001440%?00000000000014400000000000001440000000000000144000%?00000000001440000000000000144000000000000014400000%?00000000144000000000000014400000000000001440000000%?00000014400000000000001440000000000000144000000000%?00001440000000000000144000000000000014400000000000%?00144000000000000014400000000000001440000000000000%?14400000000000001440000000000000144000000000000014%?40000000000000144000000000000014400000000000001440%?00000000000014400000000000001440000000000000144000%?00000000001440000000000000144000000000000014400000%?00000000144000000000000014400000000000001440000000%?00000014400000000000001440000000000000144000000000%?00001440000000000000144000000000000014400000000000%?00144000000000000014400000000000001440000000000000%?14400000000000001440000000000000144000000000000014%?40000000000000144000000000000014400000000000001440%?00000000000014400000000000001440000000000000144000%?00000000001440000000000000144000000000000014400000%?00000000144000000000000014400000000000001440000000%?00000014400000000000001440000000000000144000000000%?00001440000000000000144000000000000014400000000000%?00144000000000000014400000000000001440000000000000%?14400000000000001440000000000000144000000000000014%?40000000000000144000000000000014400000000000001440%?00000000000014400000000000001440000000000000144000%?00000000001440000000000000144000000000000014400000%?00000000144000000000000014400000000000001440000000%?00000014400000000000001440000000000000144000000000%?00001440000000000000144000000000000014400000000000%?00144000000000000014400000000000001440000000000000%?14400000000000001440000000000000144000000000000014%?40000000000000144000000000000014400000000000001440%?00000000000014400000000000001440000000000000144000%?0000000000144000000000000014400000000000001440ae47%?e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e1%?7a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a%?14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14%?ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae%?1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae13%?40ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340%?ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae%?47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47%?e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e1%?7a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a%?14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14%?ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae%?1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae13%?40ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340%?ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae%?47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47%?e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e1%?7a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a%?14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14%?ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae%?1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae13%?40ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340%?ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae%?47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47%?e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e1%?7a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a%?14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14%?ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae%?1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae13%?40ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340%?ae47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae%?47e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47%?e17a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e1%?7a14ae1340ae47e17a14ae1340ae47e17a14ae1340ae47e17a%?14ae1340ae47e17a14ae1340ae47e17a14ae134052b81e85eb%?51134052b81e85eb51134052b81e85eb51134052b81e85eb51%?134052b81e85eb51134052b81e85eb51134052b81e85eb5113%?4052b81e85eb51134052b81e85eb51134052b81e85eb511340%?52b81e85eb51134052b81e85eb51134052b81e85eb51134052%?b81e85eb51134052b81e85eb51134052b81e85eb51134052b8%?1e85eb51134052b81e85eb51134052b81e85eb51134052b81e%?85eb51134052b81e85eb51134052b81e85eb51134052b81e85%?eb51134052b81e85eb51134052b81e85eb51134052b81e85eb%?51134052b81e85eb51134052b81e85eb51134052b81e85eb51%?134052b81e85eb51134052b81e85eb51134052b81e85eb5113%?4052b81e85eb51134052b81e85eb51134052b81e85eb511340%?52b81e85eb51134052b81e85eb51134052b81e85eb51134052%?b81e85eb51134052b81e85eb51134052b81e85eb51134052b8%?1e85eb51134052b81e85eb51134052b81e85eb51134052b81e%?85eb51134052b81e85eb51134052b81e85eb51134052b81e85%?eb51134052b81e85eb51134052b81e85eb51134052b81e85eb%?51134052b81e85eb51134052b81e85eb51134052b81e85eb51%?134052b81e85eb51134052b81e85eb51134052b81e85eb5113%?4052b81e85eb51134052b81e85eb51134052b81e85eb511340%?52b81e85eb51134052b81e85eb51134052b81e85eb51134052%?b81e85eb51134052b81e85eb51134052b81e85eb51134052b8%?1e85eb51134052b81e85eb51134052b81e85eb51134052b81e%?85eb51134052b81e85eb51134052b81e85eb51134052b81e85%?eb51134052b81e85eb51134052b81e85eb51134052b81e85eb%?51134052b81e85eb51134052b81e85eb51134052b81e85eb51%?134052b81e85eb51134052b81e85eb51134052b81e85eb5113%?4052b81e85eb51134052b81e85eb51134052b81e85eb511340%?52b81e85eb51134052b81e85eb51134052b81e85eb51134052%?b81e85eb51134052b81e85eb51134052b81e85eb51134052b8%?1e85eb51134052b81e85eb51134052b81e85eb51134052b81e%?85eb51134052b81e85eb51134052b81e85eb51134052b81e85%?eb51134052b81e85eb51134052b81e85eb51134052b81e85eb%?51134052b81e85eb51134052b81e85eb51134052b81e85eb51%?134052b81e85eb51134052b81e85eb51134052b81e85eb5113%?4052b81e85eb51134052b81e85eb5113400000000000001340%?00000000000013400000000000001340000000000000134000%?00000000001340000000000000134000000000000013400000%?00000000134000000000000013400000000000001340000000%?00000013400000000000001340000000000000134000000000%?00001340000000000000134000000000000013400000000000%?00134000000000000013400000000000001340000000000000%?13400000000000001340000000000000134000000000000013%?40000000000000134000000000000013400000000000001340%?00000000000013400000000000001340000000000000134000%?00000000001340000000000000134000000000000013400000%?00000000134000000000000013400000000000001340000000%?00000013400000000000001340000000000000134000000000%?00001340000000000000134000000000000013400000000000%?00134000000000000013400000000000001340000000000000%?13400000000000001340000000000000134000000000000013%?40000000000000134000000000000013400000000000001340%?00000000000013400000000000001340000000000000134000%?00000000001340000000000000134000000000000013400000%?00000000134000000000000013400000000000001340000000%?00000013400000000000001340000000000000134000000000%?00001340000000000000134000000000000013400000000000%?00134000000000000013400000000000001340000000000000%?13400000000000001340000000000000134000000000000013%?40000000000000134000000000000013400000000000001340%?00000000000013400000000000001340000000000000134000%?00000000001340000000000000134000000000000013400000%?00000000134000000000000013400000000000001340000000%?00000013400000000000001340000000000000134000000000%?00001340000000000000134000000000000013400000000000%?00134000000000000013400000000000001340000000000000%?13400000000000001340000000000000134000000000000013%?40000000000000134000000000000013400000000000001340%?00000000000013400000000000001340000000000000134000%?00000000001340000000000000134000000000000013400000%?0000000013400000000000001340ae47e17a14ae1240ae47e1%?7a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a%?14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14%?ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae%?1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae12%?40ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240%?ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae%?47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47%?e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e1%?7a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a%?14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14%?ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae%?1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae12%?40ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240%?ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae%?47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47%?e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e1%?7a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a%?14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14%?ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae%?1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae12%?40ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240%?ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae%?47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47%?e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e1%?7a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a%?14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14%?ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae%?1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae12%?40ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240%?ae47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae%?47e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47%?e17a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e1%?7a14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a%?14ae1240ae47e17a14ae1240ae47e17a14ae1240ae47e17a14%?ae1240ae47e17a14ae124052b81e85eb51124052b81e85eb51%?124052b81e85eb51124052b81e85eb51124052b81e85eb5112%?4052b81e85eb51124052b81e85eb51124052b81e85eb511240%?52b81e85eb51124052b81e85eb51124052b81e85eb51124052%?b81e85eb51124052b81e85eb51124052b81e85eb51124052b8%?1e85eb51124052b81e85eb51124052b81e85eb51124052b81e%?85eb51124052b81e85eb51124052b81e85eb51124052b81e85%?eb51124052b81e85eb51124052b81e85eb51124052b81e85eb%?51124052b81e85eb51124052b81e85eb51124052b81e85eb51%?124052b81e85eb51124052b81e85eb51124052b81e85eb5112%?4052b81e85eb51124052b81e85eb51124052b81e85eb511240%?52b81e85eb51124052b81e85eb51124052b81e85eb51124052%?b81e85eb51124052b81e85eb51124052b81e85eb51124052b8%?1e85eb51124052b81e85eb51124052b81e85eb51124052b81e%?85eb51124052b81e85eb51124052b81e85eb51124052b81e85%?eb51124052b81e85eb51124052b81e85eb51124052b81e85eb%?51124052b81e85eb51124052b81e85eb51124052b81e85eb51%?124052b81e85eb51124052b81e85eb51124052b81e85eb5112%?4052b81e85eb51124052b81e85eb51124052b81e85eb511240%?52b81e85eb51124052b81e85eb51124052b81e85eb51124052%?b81e85eb51124052b81e85eb51124052b81e85eb51124052b8%?1e85eb51124052b81e85eb51124052b81e85eb51124052b81e%?85eb51124052b81e85eb51124052b81e85eb51124052b81e85%?eb51124052b81e85eb51124052b81e85eb51124052b81e85eb%?51124052b81e85eb51124052b81e85eb51124052b81e85eb51%?124052b81e85eb51124052b81e85eb51124052b81e85eb5112%?4052b81e85eb51124052b81e85eb51124052b81e85eb511240%?52b81e85eb51124052b81e85eb51124052b81e85eb51124052%?b81e85eb51124052b81e85eb51124052b81e85eb51124052b8%?1e85eb51124052b81e85eb51124052b81e85eb51124052b81e%?85eb51124052b81e85eb51124052b81e85eb51124052b81e85%?eb51124052b81e85eb51124052b81e85eb51124052b81e85eb%?51124052b81e85eb51124052b81e85eb51124052b81e85eb51%?124052b81e85eb51124052b81e85eb51124052b81e85eb5112%?4052b81e85eb51124052b81e85eb51124052b81e85eb511240%?00000000000012400000000000001240000000000000124000%?00000000001240000000000000124000000000000012400000%?00000000124000000000000012400000000000001240000000%?00000012400000000000001240000000000000124000000000%?00001240000000000000124000000000000012400000000000%?00124000000000000012400000000000001240000000000000%?12400000000000001240000000000000124000000000000012%?40000000000000124000000000000012400000000000001240%?00000000000012400000000000001240000000000000124000%?00000000001240000000000000124000000000000012400000%?00000000124000000000000012400000000000001240000000%?00000012400000000000001240000000000000124000000000%?00001240000000000000124000000000000012400000000000%?00124000000000000012400000000000001240000000000000%?12400000000000001240000000000000124000000000000012%?40000000000000124000000000000012400000000000001240%?00000000000012400000000000001240000000000000124000%?00000000001240000000000000124000000000000012400000%?00000000124000000000000012400000000000001240000000%?00000012400000000000001240000000000000124000000000%?00001240000000000000124000000000000012400000000000%?00124000000000000012400000000000001240000000000000%?12400000000000001240000000000000124000000000000012%?40000000000000124000000000000012400000000000001240%?00000000000012400000000000001240000000000000124000%?00000000001240000000000000124000000000000012400000%?00000000124000000000000012400000000000001240000000%?00000012400000000000001240000000000000124000000000%?00001240000000000000124000000000000012400000000000%?00124000000000000012400000000000001240000000000000%?12400000000000001240000000000000124000000000000012%?40000000000000124000000000000012400000000000001240%?00000000000012400000000000001240000000000000124000%?00000000001240000000000000124000000000000012400000%?0000000012400000000000001240ae47e17a14ae1140ae47e1%?7a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a%?14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14%?ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae%?1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae11%?40ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140%?ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae%?47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47%?e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e1%?7a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a%?14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14%?ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae%?1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae11%?40ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140%?ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae%?47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47%?e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e1%?7a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a%?14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14%?ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae%?1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae11%?40ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140%?ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae%?47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47%?e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e1%?7a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a%?14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14%?ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae%?1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae11%?40ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140%?ae47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae%?47e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47%?e17a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e1%?7a14ae1140ae47e17a14ae1140ae47e17a14ae1140ae47e17a%?14ae1140ae47e17a14ae1140ae47e17a14ae114052b81e85eb%?51114052b81e85eb51114052b81e85eb51114052b81e85eb51%?114052b81e85eb51114052b81e85eb51114052b81e85eb5111%?4052b81e85eb51114052b81e85eb51114052b81e85eb511140%?52b81e85eb51114052b81e85eb51114052b81e85eb51114052%?b81e85eb51114052b81e85eb51114052b81e85eb51114052b8%?1e85eb51114052b81e85eb51114052b81e85eb51114052b81e%?85eb51114052b81e85eb51114052b81e85eb51114052b81e85%?eb51114052b81e85eb51114052b81e85eb51114052b81e85eb%?51114052b81e85eb51114052b81e85eb51114052b81e85eb51%?114052b81e85eb51114052b81e85eb51114052b81e85eb5111%?4052b81e85eb51114052b81e85eb51114052b81e85eb511140%?52b81e85eb51114052b81e85eb51114052b81e85eb51114052%?b81e85eb51114052b81e85eb51114052b81e85eb51114052b8%?1e85eb51114052b81e85eb51114052b81e85eb51114052b81e%?85eb51114052b81e85eb51114052b81e85eb51114052b81e85%?eb51114052b81e85eb51114052b81e85eb51114052b81e85eb%?51114052b81e85eb51114052b81e85eb51114052b81e85eb51%?114052b81e85eb51114052b81e85eb51114052b81e85eb5111%?4052b81e85eb51114052b81e85eb51114052b81e85eb511140%?52b81e85eb51114052b81e85eb51114052b81e85eb51114052%?b81e85eb51114052b81e85eb51114052b81e85eb51114052b8%?1e85eb51114052b81e85eb51114052b81e85eb51114052b81e%?85eb51114052b81e85eb51114052b81e85eb51114052b81e85%?eb51114052b81e85eb51114052b81e85eb51114052b81e85eb%?51114052b81e85eb51114052b81e85eb51114052b81e85eb51%?114052b81e85eb51114052b81e85eb51114052b81e85eb5111%?4052b81e85eb51114052b81e85eb51114052b81e85eb511140%?52b81e85eb51114052b81e85eb51114052b81e85eb51114052%?b81e85eb51114052b81e85eb51114052b81e85eb51114052b8%?1e85eb51114052b81e85eb51114052b81e85eb51114052b81e%?85eb51114052b81e85eb51114052b81e85eb51114052b81e85%?eb51114052b81e85eb51114052b81e85eb51114052b81e85eb%?51114052b81e85eb51114052b81e85eb51114052b81e85eb51%?114052b81e85eb51114052b81e85eb51114052b81e85eb5111%?40000000000000114000000000000011400000000000001140%?00000000000011400000000000001140000000000000114000%?00000000001140000000000000114000000000000011400000%?00000000114000000000000011400000000000001140000000%?00000011400000000000001140000000000000114000000000%?00001140000000000000114000000000000011400000000000%?00114000000000000011400000000000001140000000000000%?11400000000000001140000000000000114000000000000011%?40000000000000114000000000000011400000000000001140%?00000000000011400000000000001140000000000000114000%?00000000001140000000000000114000000000000011400000%?00000000114000000000000011400000000000001140000000%?00000011400000000000001140000000000000114000000000%?00001140000000000000114000000000000011400000000000%?00114000000000000011400000000000001140000000000000%?11400000000000001140000000000000114000000000000011%?40000000000000114000000000000011400000000000001140%?00000000000011400000000000001140000000000000114000%?00000000001140000000000000114000000000000011400000%?00000000114000000000000011400000000000001140000000%?00000011400000000000001140000000000000114000000000%?00001140000000000000114000000000000011400000000000%?00114000000000000011400000000000001140000000000000%?11400000000000001140000000000000114000000000000011%?40000000000000114000000000000011400000000000001140%?00000000000011400000000000001140000000000000114000%?00000000001140000000000000114000000000000011400000%?00000000114000000000000011400000000000001140000000%?00000011400000000000001140000000000000114000000000%?00001140000000000000114000000000000011400000000000%?00114000000000000011400000000000001140000000000000%?11400000000000001140000000000000114000000000000011%?40000000000000114000000000000011400000000000001140%?00000000000011400000000000001140000000000000114000%?00000000001140ae47e17a14ae1040ae47e17a14ae1040ae47%?e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e1%?7a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a%?14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14%?ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae%?1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae10%?40ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040%?ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae%?47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47%?e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e1%?7a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a%?14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14%?ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae%?1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae10%?40ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040%?ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae%?47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47%?e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e1%?7a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a%?14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14%?ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae%?1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae10%?40ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040%?ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae%?47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47%?e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e1%?7a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a%?14ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14%?ae1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae%?1040ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae10%?40ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040%?ae47e17a14ae1040ae47e17a14ae1040ae47e17a14ae1040ae%?47e17a14ae1040ae47e17a14ae1040ae47e17a14ae104052b8%?1e85eb51104052b81e85eb51104052b81e85eb51104052b81e%?85eb51104052b81e85eb51104052b81e85eb51104052b81e85%?eb51104052b81e85eb51104052b81e85eb51104052b81e85eb%?51104052b81e85eb51104052b81e85eb51104052b81e85eb51%?104052b81e85eb51104052b81e85eb51104052b81e85eb5110%?4052b81e85eb51104052b81e85eb51104052b81e85eb511040%?52b81e85eb51104052b81e85eb51104052b81e85eb51104052%?b81e85eb51104052b81e85eb51104052b81e85eb51104052b8%?1e85eb51104052b81e85eb51104052b81e85eb51104052b81e%?85eb51104052b81e85eb51104052b81e85eb51104052b81e85%?eb51104052b81e85eb51104052b81e85eb51104052b81e85eb%?51104052b81e85eb51104052b81e85eb51104052b81e85eb51%?104052b81e85eb51104052b81e85eb51104052b81e85eb5110%?4052b81e85eb51104052b81e85eb51104052b81e85eb511040%?52b81e85eb51104052b81e85eb51104052b81e85eb51104052%?b81e85eb51104052b81e85eb51104052b81e85eb51104052b8%?1e85eb51104052b81e85eb51104052b81e85eb51104052b81e%?85eb51104052b81e85eb51104052b81e85eb51104052b81e85%?eb51104052b81e85eb51104052b81e85eb51104052b81e85eb%?51104052b81e85eb51104052b81e85eb51104052b81e85eb51%?104052b81e85eb51104052b81e85eb51104052b81e85eb5110%?4052b81e85eb51104052b81e85eb51104052b81e85eb511040%?52b81e85eb51104052b81e85eb51104052b81e85eb51104052%?b81e85eb51104052b81e85eb51104052b81e85eb51104052b8%?1e85eb51104052b81e85eb51104052b81e85eb51104052b81e%?85eb51104052b81e85eb51104052b81e85eb51104052b81e85%?eb51104052b81e85eb51104052b81e85eb51104052b81e85eb%?51104052b81e85eb51104052b81e85eb51104052b81e85eb51%?104052b81e85eb51104052b81e85eb51104052b81e85eb5110%?4052b81e85eb51104052b81e85eb51104052b81e85eb511040%?52b81e85eb51104052b81e85eb51104052b81e85eb51104052%?b81e85eb51104052b81e85eb51104052b81e85eb51104052b8%?1e85eb51104052b81e85eb51104052b81e85eb51104052b81e%?85eb5110400000000000001040000000000000104000000000%?00001040000000000000104000000000000010400000000000%?00104000000000000010400000000000001040000000000000%?10400000000000001040000000000000104000000000000010%?40000000000000104000000000000010400000000000001040%?00000000000010400000000000001040000000000000104000%?00000000001040000000000000104000000000000010400000%?00000000104000000000000010400000000000001040000000%?00000010400000000000001040000000000000104000000000%?00001040000000000000104000000000000010400000000000%?00104000000000000010400000000000001040000000000000%?10400000000000001040000000000000104000000000000010%?40000000000000104000000000000010400000000000001040%?00000000000010400000000000001040000000000000104000%?00000000001040000000000000104000000000000010400000%?00000000104000000000000010400000000000001040000000%?00000010400000000000001040000000000000104000000000%?00001040000000000000104000000000000010400000000000%?00104000000000000010400000000000001040000000000000%?10400000000000001040000000000000104000000000000010%?40000000000000104000000000000010400000000000001040%?00000000000010400000000000001040000000000000104000%?00000000001040000000000000104000000000000010400000%?00000000104000000000000010400000000000001040000000%?00000010400000000000001040000000000000104000000000%?00001040000000000000104000000000000010400000000000%?00104000000000000010400000000000001040000000000000%?10400000000000001040000000000000104000000000000010%?40000000000000104000000000000010400000000000001040%?00000000000010400000000000001040000000000000104000%?00000000001040000000000000104000000000000010400000%?00000000104000000000000010400000000000001040000000%?0000001040000000000000104000000000000010405c8fc2f5%?285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f528%?5c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c%?0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f%?405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f40%?5c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c%?8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8f%?c2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2%?f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5%?285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f528%?5c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c%?0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f%?405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f40%?5c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c%?8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8f%?c2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2%?f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5%?285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f528%?5c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c%?0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f%?405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f40%?5c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c%?8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8f%?c2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2%?f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5%?285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f528%?5c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c%?0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f%?405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f40%?5c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c%?8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8f%?c2f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2%?f5285c0f405c8fc2f5285c0f405c8fc2f5285c0f405c8fc2f5%?285c0f405c8fc2f5285c0f40a4703d0dd7a30e40a4703d0dd7%?a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a3%?0e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e%?40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40%?a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4%?703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a470%?3d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d%?0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0d%?d7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7%?a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a3%?0e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e%?40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40%?a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4%?703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a470%?3d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d%?0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0d%?d7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7%?a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a3%?0e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e%?40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40%?a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4%?703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a470%?3d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d%?0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0d%?d7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7%?a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a3%?0e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e%?40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40%?a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4%?703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a470%?3d0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d%?0dd7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0d%?d7a30e40a4703d0dd7a30e40a4703d0dd7a30e40a4703d0dd7%?a30e400000000000000e400000000000000e40000000000000%?0e400000000000000e400000000000000e400000000000000e%?400000000000000e400000000000000e400000000000000e40%?0000000000000e400000000000000e400000000000000e4000%?00000000000e400000000000000e400000000000000e400000%?000000000e400000000000000e400000000000000e40000000%?0000000e400000000000000e400000000000000e4000000000%?00000e400000000000000e400000000000000e400000000000%?000e400000000000000e400000000000000e40000000000000%?0e400000000000000e400000000000000e400000000000000e%?400000000000000e400000000000000e400000000000000e40%?0000000000000e400000000000000e400000000000000e4000%?00000000000e400000000000000e400000000000000e400000%?000000000e400000000000000e400000000000000e40000000%?0000000e400000000000000e400000000000000e4000000000%?00000e400000000000000e400000000000000e400000000000%?000e400000000000000e400000000000000e40000000000000%?0e400000000000000e400000000000000e400000000000000e%?400000000000000e400000000000000e400000000000000e40%?0000000000000e400000000000000e400000000000000e4000%?00000000000e400000000000000e400000000000000e400000%?000000000e400000000000000e400000000000000e40000000%?0000000e400000000000000e400000000000000e4000000000%?00000e400000000000000e400000000000000e400000000000%?000e400000000000000e400000000000000e40000000000000%?0e400000000000000e400000000000000e400000000000000e%?400000000000000e400000000000000e400000000000000e40%?0000000000000e400000000000000e400000000000000e4000%?00000000000e400000000000000e400000000000000e400000%?000000000e400000000000000e400000000000000e40000000%?0000000e400000000000000e400000000000000e4000000000%?00000e400000000000000e400000000000000e400000000000%?000e400000000000000e405c8fc2f5285c0d405c8fc2f5285c%?0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d%?405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d40%?5c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c%?8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8f%?c2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2%?f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5%?285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f528%?5c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c%?0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d%?405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d40%?5c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c%?8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8f%?c2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2%?f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5%?285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f528%?5c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c%?0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d%?405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d40%?5c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c%?8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8f%?c2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2%?f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5%?285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f528%?5c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c%?0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d%?405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d40%?5c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c%?8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8f%?c2f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2%?f5285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f5%?285c0d405c8fc2f5285c0d405c8fc2f5285c0d405c8fc2f528%?5c0d405c8fc2f5285c0d40a4703d0dd7a30c40a4703d0dd7a3%?0c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c%?40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40%?a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4%?703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a470%?3d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d%?0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0d%?d7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7%?a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a3%?0c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c%?40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40%?a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4%?703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a470%?3d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d%?0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0d%?d7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7%?a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a3%?0c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c%?40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40%?a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4%?703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a470%?3d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d%?0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0d%?d7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7%?a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a3%?0c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c%?40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40%?a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4%?703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a470%?3d0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d%?0dd7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0d%?d7a30c40a4703d0dd7a30c40a4703d0dd7a30c40a4703d0dd7%?a30c40a4703d0dd7a30c400000000000000c40000000000000%?0c400000000000000c400000000000000c400000000000000c%?400000000000000c400000000000000c400000000000000c40%?0000000000000c400000000000000c400000000000000c4000%?00000000000c400000000000000c400000000000000c400000%?000000000c400000000000000c400000000000000c40000000%?0000000c400000000000000c400000000000000c4000000000%?00000c400000000000000c400000000000000c400000000000%?000c400000000000000c400000000000000c40000000000000%?0c400000000000000c400000000000000c400000000000000c%?400000000000000c400000000000000c400000000000000c40%?0000000000000c400000000000000c400000000000000c4000%?00000000000c400000000000000c400000000000000c400000%?000000000c400000000000000c400000000000000c40000000%?0000000c400000000000000c400000000000000c4000000000%?00000c400000000000000c400000000000000c400000000000%?000c400000000000000c400000000000000c40000000000000%?0c400000000000000c400000000000000c400000000000000c%?400000000000000c400000000000000c400000000000000c40%?0000000000000c400000000000000c400000000000000c4000%?00000000000c400000000000000c400000000000000c400000%?000000000c400000000000000c400000000000000c40000000%?0000000c400000000000000c400000000000000c4000000000%?00000c400000000000000c400000000000000c400000000000%?000c400000000000000c400000000000000c40000000000000%?0c400000000000000c400000000000000c400000000000000c%?400000000000000c400000000000000c400000000000000c40%?0000000000000c400000000000000c400000000000000c4000%?00000000000c400000000000000c400000000000000c400000%?000000000c400000000000000c400000000000000c40000000%?0000000c400000000000000c400000000000000c4000000000%?00000c400000000000000c400000000000000c400000000000%?000c400000000000000c405c8fc2f5285c0b405c8fc2f5285c%?0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b%?405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b40%?5c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c%?8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8f%?c2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2%?f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5%?285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f528%?5c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c%?0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b%?405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b40%?5c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c%?8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8f%?c2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2%?f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5%?285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f528%?5c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c%?0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b%?405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b40%?5c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c%?8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8f%?c2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2%?f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5%?285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f528%?5c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c%?0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b%?405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b40%?5c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c%?8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8f%?c2f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2%?f5285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f5%?285c0b405c8fc2f5285c0b405c8fc2f5285c0b405c8fc2f528%?5c0b405c8fc2f5285c0b40a4703d0dd7a30d40a4703d0dd7a3%?0d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d%?40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40%?a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4%?703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a470%?3d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d%?0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0d%?d7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7%?a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a3%?0d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d%?40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40%?a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4%?703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a470%?3d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d%?0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0d%?d7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7%?a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a3%?0d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d%?40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40%?a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4%?703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a470%?3d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d%?0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0d%?d7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7%?a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a3%?0d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d%?40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40%?a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4%?703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a470%?3d0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d%?0dd7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0d%?d7a30d40a4703d0dd7a30d40a4703d0dd7a30d40a4703d0dd7%?a30d40a4703d0dd7a30d400000000000000d40000000000000%?0d400000000000000d400000000000000d400000000000000d%?400000000000000d400000000000000d400000000000000d40%?0000000000000d400000000000000d400000000000000d4000%?00000000000d400000000000000d400000000000000d400000%?000000000d400000000000000d400000000000000d40000000%?0000000d400000000000000d400000000000000d4000000000%?00000d400000000000000d400000000000000d400000000000%?000d400000000000000d400000000000000d40000000000000%?0d400000000000000d400000000000000d400000000000000d%?400000000000000d400000000000000d400000000000000d40%?0000000000000d400000000000000d400000000000000d4000%?00000000000d400000000000000d400000000000000d400000%?000000000d400000000000000d400000000000000d40000000%?0000000d400000000000000d400000000000000d4000000000%?00000d400000000000000d400000000000000d400000000000%?000d400000000000000d400000000000000d40000000000000%?0d400000000000000d400000000000000d400000000000000d%?400000000000000d400000000000000d400000000000000d40%?0000000000000d400000000000000d400000000000000d4000%?00000000000d400000000000000d400000000000000d400000%?000000000d400000000000000d400000000000000d40000000%?0000000d400000000000000d400000000000000d4000000000%?00000d400000000000000d400000000000000d400000000000%?000d400000000000000d400000000000000d40000000000000%?0d400000000000000d400000000000000d400000000000000d%?400000000000000d400000000000000d400000000000000d40%?0000000000000d400000000000000d400000000000000d4000%?00000000000d400000000000000d400000000000000d400000%?000000000d400000000000000d400000000000000d40000000%?0000000d400000000000000d400000000000000d4000000000%?00000d400000000000000d400000000000000d400000000000%?000d405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c%?09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09%?405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c0940%?5c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c%?8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8f%?c2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2%?f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5%?285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f528%?5c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c%?09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09%?405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c0940%?5c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c%?8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8f%?c2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2%?f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5%?285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f528%?5c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c%?09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09%?405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c0940%?5c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c%?8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8f%?c2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2%?f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5%?285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f528%?5c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c%?09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09%?405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c0940%?5c8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c%?8fc2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8f%?c2f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2%?f5285c09405c8fc2f5285c09405c8fc2f5285c09405c8fc2f5%?285c09405c8fc2f5285c09405c8fc2f5285c0940a4703d0dd7%?a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a3%?0840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a308%?40a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840%?a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4%?703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a470%?3d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d%?0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0d%?d7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7%?a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a3%?0840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a308%?40a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840%?a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4%?703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a470%?3d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d%?0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0d%?d7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7%?a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a3%?0840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a308%?40a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840%?a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4%?703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a470%?3d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d%?0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0d%?d7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7%?a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a3%?0840a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a308%?40a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840%?a4703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4%?703d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a470%?3d0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d%?0dd7a30840a4703d0dd7a30840a4703d0dd7a30840a4703d0d%?d7a30840a4703d0dd7a3084000000000000008400000000000%?00084000000000000008400000000000000840000000000000%?08400000000000000840000000000000084000000000000008%?40000000000000084000000000000008400000000000000840%?00000000000008400000000000000840000000000000084000%?00000000000840000000000000084000000000000008400000%?00000000084000000000000008400000000000000840000000%?00000008400000000000000840000000000000084000000000%?00000840000000000000084000000000000008400000000000%?00084000000000000008400000000000000840000000000000%?08400000000000000840000000000000084000000000000008%?40000000000000084000000000000008400000000000000840%?00000000000008400000000000000840000000000000084000%?00000000000840000000000000084000000000000008400000%?00000000084000000000000008400000000000000840000000%?00000008400000000000000840000000000000084000000000%?00000840000000000000084000000000000008400000000000%?00084000000000000008400000000000000840000000000000%?08400000000000000840000000000000084000000000000008%?40000000000000084000000000000008400000000000000840%?00000000000008400000000000000840000000000000084000%?00000000000840000000000000084000000000000008400000%?00000000084000000000000008400000000000000840000000%?00000008400000000000000840000000000000084000000000%?00000840000000000000084000000000000008400000000000%?00084000000000000008400000000000000840000000000000%?08400000000000000840000000000000084000000000000008%?40000000000000084000000000000008400000000000000840%?00000000000008400000000000000840000000000000084000%?00000000000840000000000000084000000000000008400000%?00000000084000000000000008400000000000000840000000%?0000000840000000000000084000000000000008405c8fc2f5%?285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f528%?5c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c%?07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07%?405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c0740%?5c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c%?8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8f%?c2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2%?f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5%?285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f528%?5c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c%?07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07%?405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c0740%?5c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c%?8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8f%?c2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2%?f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5%?285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f528%?5c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c%?07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07%?405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c0740%?5c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c%?8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8f%?c2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2%?f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5%?285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f528%?5c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c%?07405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07%?405c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c0740%?5c8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c%?8fc2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8f%?c2f5285c07405c8fc2f5285c07405c8fc2f5285c07405c8fc2%?f5285c0740a4703d0dd7a30640a4703d0dd7a30640a4703d0d%?d7a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7%?a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a3%?0640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a306%?40a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640%?a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a4%?703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a470%?3d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a4703d%?0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0d%?d7a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7%?a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a3%?0640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a306%?40a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640%?a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a4%?703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a470%?3d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a4703d%?0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0d%?d7a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7%?a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a3%?0640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a306%?40a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640%?a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a4%?703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a470%?3d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a4703d%?0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0d%?d7a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7%?a30640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a3%?0640a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a306%?40a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640%?a4703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a4%?703d0dd7a30640a4703d0dd7a30640a4703d0dd7a30640a470%?3d0dd7a30640a4703d0dd7a306400000000000000640000000%?00000006400000000000000640000000000000064000000000%?00000640000000000000064000000000000006400000000000%?00064000000000000006400000000000000640000000000000%?06400000000000000640000000000000064000000000000006%?40000000000000064000000000000006400000000000000640%?00000000000006400000000000000640000000000000064000%?00000000000640000000000000064000000000000006400000%?00000000064000000000000006400000000000000640000000%?00000006400000000000000640000000000000064000000000%?00000640000000000000064000000000000006400000000000%?00064000000000000006400000000000000640000000000000%?06400000000000000640000000000000064000000000000006%?40000000000000064000000000000006400000000000000640%?00000000000006400000000000000640000000000000064000%?00000000000640000000000000064000000000000006400000%?00000000064000000000000006400000000000000640000000%?00000006400000000000000640000000000000064000000000%?00000640000000000000064000000000000006400000000000%?00064000000000000006400000000000000640000000000000%?06400000000000000640000000000000064000000000000006%?40000000000000064000000000000006400000000000000640%?00000000000006400000000000000640000000000000064000%?00000000000640000000000000064000000000000006400000%?00000000064000000000000006400000000000000640000000%?00000006400000000000000640000000000000064000000000%?00000640000000000000064000000000000006400000000000%?00064000000000000006400000000000000640000000000000%?06400000000000000640000000000000064000000000000006%?40000000000000064000000000000006400000000000000640%?00000000000006400000000000000640000000000000064000%?00000000000640000000000000064000000000000006405c8f%?c2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2%?f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5%?285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f528%?5c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c%?05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05%?405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c0540%?5c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c%?8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8f%?c2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2%?f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5%?285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f528%?5c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c%?05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05%?405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c0540%?5c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c%?8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8f%?c2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2%?f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5%?285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f528%?5c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c%?05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05%?405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c0540%?5c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c%?8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8f%?c2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2%?f5285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5%?285c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f528%?5c05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c%?05405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05%?405c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c0540%?5c8fc2f5285c05405c8fc2f5285c05405c8fc2f5285c05405c%?8fc2f5285c0540a4703d0dd7a30440a4703d0dd7a30440a470%?3d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d%?0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0d%?d7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7%?a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a3%?0440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a304%?40a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440%?a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4%?703d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a470%?3d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d%?0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0d%?d7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7%?a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a3%?0440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a304%?40a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440%?a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4%?703d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a470%?3d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d%?0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0d%?d7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7%?a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a3%?0440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a304%?40a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440%?a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4%?703d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a470%?3d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d%?0dd7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0d%?d7a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7%?a30440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a3%?0440a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a304%?40a4703d0dd7a30440a4703d0dd7a30440a4703d0dd7a30440%?00000000000004400000000000000440000000000000044000%?00000000000440000000000000044000000000000004400000%?00000000044000000000000004400000000000000440000000%?00000004400000000000000440000000000000044000000000%?00000440000000000000044000000000000004400000000000%?00044000000000000004400000000000000440000000000000%?04400000000000000440000000000000044000000000000004%?40000000000000044000000000000004400000000000000440%?00000000000004400000000000000440000000000000044000%?00000000000440000000000000044000000000000004400000%?00000000044000000000000004400000000000000440000000%?00000004400000000000000440000000000000044000000000%?00000440000000000000044000000000000004400000000000%?00044000000000000004400000000000000440000000000000%?04400000000000000440000000000000044000000000000004%?40000000000000044000000000000004400000000000000440%?00000000000004400000000000000440000000000000044000%?00000000000440000000000000044000000000000004400000%?00000000044000000000000004400000000000000440000000%?00000004400000000000000440000000000000044000000000%?00000440000000000000044000000000000004400000000000%?00044000000000000004400000000000000440000000000000%?04400000000000000440000000000000044000000000000004%?40000000000000044000000000000004400000000000000440%?00000000000004400000000000000440000000000000044000%?00000000000440000000000000044000000000000004400000%?00000000044000000000000004400000000000000440000000%?00000004400000000000000440000000000000044000000000%?00000440000000000000044000000000000004400000000000%?00044000000000000004400000000000000440000000000000%?04400000000000000440000000000000044000000000000004%?405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c0340%?5c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c%?8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8f%?c2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2%?f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5%?285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f528%?5c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c%?03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03%?405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c0340%?5c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c%?8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8f%?c2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2%?f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5%?285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f528%?5c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c%?03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03%?405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c0340%?5c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c%?8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8f%?c2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2%?f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5%?285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f528%?5c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c%?03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03%?405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c0340%?5c8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c%?8fc2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8f%?c2f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2%?f5285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f5%?285c03405c8fc2f5285c03405c8fc2f5285c03405c8fc2f528%?5c03405c8fc2f5285c03405c8fc2f5285c0340a4703d0dd7a3%?0240a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a302%?40a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240%?a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4%?703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a470%?3d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d%?0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d0d%?d7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7%?a30240a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a3%?0240a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a302%?40a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240%?a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4%?703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a470%?3d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d%?0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d0d%?d7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7%?a30240a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a3%?0240a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a302%?40a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240%?a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4%?703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a470%?3d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d%?0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d0d%?d7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7%?a30240a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a3%?0240a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a302%?40a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240%?a4703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4%?703d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a470%?3d0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d%?0dd7a30240a4703d0dd7a30240a4703d0dd7a30240a4703d0d%?d7a30240a4703d0dd7a3024000000000000002400000000000%?00024000000000000002400000000000000240000000000000%?02400000000000000240000000000000024000000000000002%?40000000000000024000000000000002400000000000000240%?00000000000002400000000000000240000000000000024000%?00000000000240000000000000024000000000000002400000%?00000000024000000000000002400000000000000240000000%?00000002400000000000000240000000000000024000000000%?00000240000000000000024000000000000002400000000000%?00024000000000000002400000000000000240000000000000%?02400000000000000240000000000000024000000000000002%?40000000000000024000000000000002400000000000000240%?00000000000002400000000000000240000000000000024000%?00000000000240000000000000024000000000000002400000%?00000000024000000000000002400000000000000240000000%?00000002400000000000000240000000000000024000000000%?00000240000000000000024000000000000002400000000000%?00024000000000000002400000000000000240000000000000%?02400000000000000240000000000000024000000000000002%?40000000000000024000000000000002400000000000000240%?00000000000002400000000000000240000000000000024000%?00000000000240000000000000024000000000000002400000%?00000000024000000000000002400000000000000240000000%?00000002400000000000000240000000000000024000000000%?00000240000000000000024000000000000002400000000000%?00024000000000000002400000000000000240000000000000%?02400000000000000240000000000000024000000000000002%?40000000000000024000000000000002400000000000000240%?00000000000002400000000000000240000000000000024000%?00000000000240000000000000024000000000000002400000%?00000000024000000000000002400000000000000240000000%?00000002405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5%?285c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f528%?5c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c%?01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01%?405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c0140%?5c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01405c%?8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01405c8f%?c2f5285c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2%?f5285c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5%?285c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f528%?5c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c%?01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01%?405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c0140%?5c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01405c%?8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01405c8f%?c2f5285c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2%?f5285c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5%?285c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f528%?5c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c%?01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01%?405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c0140%?5c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01405c%?8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01405c8f%?c2f5285c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2%?f5285c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5%?285c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f528%?5c01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c%?01405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01%?405c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c0140%?5c8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c01405c%?8fc2f5285c01405c8fc2f5285c01405c8fc2f5285c0140a470%?3d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d%?0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0d%?d7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7%?a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a3%?0040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a300%?40a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040%?a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4%?703d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a470%?3d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d%?0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0d%?d7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7%?a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a3%?0040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a300%?40a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040%?a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4%?703d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a470%?3d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d%?0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0d%?d7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7%?a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a3%?0040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a300%?40a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040%?a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4%?703d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a470%?3d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d%?0dd7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0d%?d7a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7%?a30040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a3%?0040a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a300%?40a4703d0dd7a30040a4703d0dd7a30040a4703d0dd7a30040%?a4703d0dd7a30040a4703d0dd7a30040000000000000004000%?00000000000040000000000000004000000000000000400000%?00000000004000000000000000400000000000000040000000%?00000000400000000000000040000000000000004000000000%?00000040000000000000004000000000000000400000000000%?00004000000000000000400000000000000040000000000000%?00400000000000000040000000000000004000000000000000%?40000000000000004000000000000000400000000000000040%?00000000000000400000000000000040000000000000004000%?00000000000040000000000000004000000000000000400000%?00000000004000000000000000400000000000000040000000%?00000000400000000000000040000000000000004000000000%?00000040000000000000004000000000000000400000000000%?00004000000000000000400000000000000040000000000000%?00400000000000000040000000000000004000000000000000%?40000000000000004000000000000000400000000000000040%?00000000000000400000000000000040000000000000004000%?00000000000040000000000000004000000000000000400000%?00000000004000000000000000400000000000000040000000%?00000000400000000000000040000000000000004000000000%?00000040000000000000004000000000000000400000000000%?00004000000000000000400000000000000040000000000000%?00400000000000000040000000000000004000000000000000%?40000000000000004000000000000000400000000000000040%?00000000000000400000000000000040000000000000004000%?00000000000040000000000000004000000000000000400000%?00000000004000000000000000400000000000000040000000%?00000000400000000000000040000000000000004000000000%?00000040000000000000004000000000000000400000000000%?00004000000000000000400000000000000040000000000000%?00400000000000000040000000000000004000000000000000%?40000000000000004000000000000000400000000000000040%?b81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb8%?1e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e%?85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85%?eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb%?51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51%?b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8%?fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe%?3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3f%?b81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb8%?1e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e%?85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85%?eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb%?51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51%?b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8%?fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe%?3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3f%?b81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb8%?1e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e%?85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85%?eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb%?51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51%?b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8%?fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe%?3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3f%?b81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb8%?1e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e%?85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85%?eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb%?51b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51%?b8fe3fb81e85eb51b8fe3fb81e85eb51b8fe3fb81e85eb51b8%?fe3fb81e85eb51b8fe3fb81e85eb51b8fe3f48e17a14ae47fd%?3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f%?48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48%?e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e1%?7a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a%?14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14%?ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae%?47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47%?fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd%?3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f%?48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48%?e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e1%?7a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a%?14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14%?ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae%?47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47%?fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd%?3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f%?48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48%?e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e1%?7a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a%?14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14%?ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae%?47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47%?fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd%?3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f%?48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48%?e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e1%?7a14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a%?14ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14%?ae47fd3f48e17a14ae47fd3f48e17a14ae47fd3f48e17a14ae%?47fd3f000000000000fc3f000000000000fc3f000000000000%?fc3f000000000000fc3f000000000000fc3f000000000000fc%?3f000000000000fc3f000000000000fc3f000000000000fc3f%?000000000000fc3f000000000000fc3f000000000000fc3f00%?0000000000fc3f000000000000fc3f000000000000fc3f0000%?00000000fc3f000000000000fc3f000000000000fc3f000000%?000000fc3f000000000000fc3f000000000000fc3f00000000%?0000fc3f000000000000fc3f000000000000fc3f0000000000%?00fc3f000000000000fc3f000000000000fc3f000000000000%?fc3f000000000000fc3f000000000000fc3f000000000000fc%?3f000000000000fc3f000000000000fc3f000000000000fc3f%?000000000000fc3f000000000000fc3f000000000000fc3f00%?0000000000fc3f000000000000fc3f000000000000fc3f0000%?00000000fc3f000000000000fc3f000000000000fc3f000000%?000000fc3f000000000000fc3f000000000000fc3f00000000%?0000fc3f000000000000fc3f000000000000fc3f0000000000%?00fc3f000000000000fc3f000000000000fc3f000000000000%?fc3f000000000000fc3f000000000000fc3f000000000000fc%?3f000000000000fc3f000000000000fc3f000000000000fc3f%?000000000000fc3f000000000000fc3f000000000000fc3f00%?0000000000fc3f000000000000fc3f000000000000fc3f0000%?00000000fc3f000000000000fc3f000000000000fc3f000000%?000000fc3f000000000000fc3f000000000000fc3f00000000%?0000fc3f000000000000fc3f000000000000fc3f0000000000%?00fc3f000000000000fc3f000000000000fc3f000000000000%?fc3f000000000000fc3f000000000000fc3f000000000000fc%?3f000000000000fc3f000000000000fc3f000000000000fc3f%?000000000000fc3f000000000000fc3f000000000000fc3f00%?0000000000fc3f000000000000fc3f000000000000fc3f0000%?00000000fc3f000000000000fc3f000000000000fc3fb81e85%?eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb%?51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51%?b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8%?fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa%?3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3f%?b81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb8%?1e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e%?85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85%?eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb%?51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51%?b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8%?fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa%?3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3f%?b81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb8%?1e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e%?85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85%?eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb%?51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51%?b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8%?fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa%?3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3f%?b81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb8%?1e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e%?85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85%?eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb%?51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51%?b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8%?fa3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa%?3fb81e85eb51b8fa3fb81e85eb51b8fa3fb81e85eb51b8fa3f%?b81e85eb51b8fa3fb81e85eb51b8fa3f48e17a14ae47f93f48%?e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e1%?7a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a%?14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14%?ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae%?47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47%?f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f9%?3f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f%?48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48%?e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e1%?7a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a%?14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14%?ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae%?47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47%?f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f9%?3f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f%?48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48%?e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e1%?7a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a%?14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14%?ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae%?47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47%?f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f9%?3f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f%?48e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48%?e17a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e1%?7a14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a%?14ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14%?ae47f93f48e17a14ae47f93f48e17a14ae47f93f48e17a14ae%?47f93f000000000000f83f000000000000f83f000000000000%?f83f000000000000f83f000000000000f83f000000000000f8%?3f000000000000f83f000000000000f83f000000000000f83f%?000000000000f83f000000000000f83f000000000000f83f00%?0000000000f83f000000000000f83f000000000000f83f0000%?00000000f83f000000000000f83f000000000000f83f000000%?000000f83f000000000000f83f000000000000f83f00000000%?0000f83f000000000000f83f000000000000f83f0000000000%?00f83f000000000000f83f000000000000f83f000000000000%?f83f000000000000f83f000000000000f83f000000000000f8%?3f000000000000f83f000000000000f83f000000000000f83f%?000000000000f83f000000000000f83f000000000000f83f00%?0000000000f83f000000000000f83f000000000000f83f0000%?00000000f83f000000000000f83f000000000000f83f000000%?000000f83f000000000000f83f000000000000f83f00000000%?0000f83f000000000000f83f000000000000f83f0000000000%?00f83f000000000000f83f000000000000f83f000000000000%?f83f000000000000f83f000000000000f83f000000000000f8%?3f000000000000f83f000000000000f83f000000000000f83f%?000000000000f83f000000000000f83f000000000000f83f00%?0000000000f83f000000000000f83f000000000000f83f0000%?00000000f83f000000000000f83f000000000000f83f000000%?000000f83f000000000000f83f000000000000f83f00000000%?0000f83f000000000000f83f000000000000f83f0000000000%?00f83f000000000000f83f000000000000f83f000000000000%?f83f000000000000f83f000000000000f83f000000000000f8%?3f000000000000f83f000000000000f83f000000000000f83f%?000000000000f83f000000000000f83f000000000000f83f00%?0000000000f83fb81e85eb51b8f63fb81e85eb51b8f63fb81e%?85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85%?eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb%?51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51%?b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8%?f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f6%?3fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63f%?b81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb8%?1e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e%?85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85%?eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb%?51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51%?b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8%?f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f6%?3fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63f%?b81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb8%?1e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e%?85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85%?eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb%?51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51%?b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8%?f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f6%?3fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63f%?b81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb8%?1e85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e%?85eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85%?eb51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb%?51b8f63fb81e85eb51b8f63fb81e85eb51b8f63fb81e85eb51%?b8f63fb81e85eb51b8f63f48e17a14ae47f53f48e17a14ae47%?f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f5%?3f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f%?48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48%?e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e1%?7a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a%?14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14%?ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae%?47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47%?f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f5%?3f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f%?48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48%?e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e1%?7a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a%?14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14%?ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae%?47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47%?f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f5%?3f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f%?48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48%?e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e1%?7a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a%?14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14%?ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae%?47f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47%?f53f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f5%?3f48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f%?48e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48%?e17a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f48e1%?7a14ae47f53f48e17a14ae47f53f48e17a14ae47f53f000000%?000000f43f000000000000f43f000000000000f43f00000000%?0000f43f000000000000f43f000000000000f43f0000000000%?00f43f000000000000f43f000000000000f43f000000000000%?f43f000000000000f43f000000000000f43f000000000000f4%?3f000000000000f43f000000000000f43f000000000000f43f%?000000000000f43f000000000000f43f000000000000f43f00%?0000000000f43f000000000000f43f000000000000f43f0000%?00000000f43f000000000000f43f000000000000f43f000000%?000000f43f000000000000f43f000000000000f43f00000000%?0000f43f000000000000f43f000000000000f43f0000000000%?00f43f000000000000f43f000000000000f43f000000000000%?f43f000000000000f43f000000000000f43f000000000000f4%?3f000000000000f43f000000000000f43f000000000000f43f%?000000000000f43f000000000000f43f000000000000f43f00%?0000000000f43f000000000000f43f000000000000f43f0000%?00000000f43f000000000000f43f000000000000f43f000000%?000000f43f000000000000f43f000000000000f43f00000000%?0000f43f000000000000f43f000000000000f43f0000000000%?00f43f000000000000f43f000000000000f43f000000000000%?f43f000000000000f43f000000000000f43f000000000000f4%?3f000000000000f43f000000000000f43f000000000000f43f%?000000000000f43f000000000000f43f000000000000f43f00%?0000000000f43f000000000000f43f000000000000f43f0000%?00000000f43f000000000000f43f000000000000f43f000000%?000000f43f000000000000f43f000000000000f43f00000000%?0000f43f000000000000f43f000000000000f43f0000000000%?00f43f000000000000f43f000000000000f43f000000000000%?f43f000000000000f43f000000000000f43f000000000000f4%?3f000000000000f43f000000000000f43fb81e85eb51b8f23f%?b81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb8%?1e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e%?85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85%?eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb%?51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51%?b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8%?f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f2%?3fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23f%?b81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb8%?1e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e%?85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85%?eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb%?51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51%?b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8%?f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f2%?3fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23f%?b81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb8%?1e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e%?85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85%?eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb%?51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51%?b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8%?f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f2%?3fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23f%?b81e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb8%?1e85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e%?85eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85%?eb51b8f23fb81e85eb51b8f23fb81e85eb51b8f23fb81e85eb%?51b8f23fb81e85eb51b8f23f48e17a14ae47f13f48e17a14ae%?47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47%?f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f1%?3f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f%?48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48%?e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e1%?7a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a%?14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14%?ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae%?47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47%?f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f1%?3f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f%?48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48%?e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e1%?7a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a%?14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14%?ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae%?47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47%?f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f1%?3f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f%?48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48%?e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e1%?7a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a%?14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14%?ae47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae%?47f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47%?f13f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f1%?3f48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f%?48e17a14ae47f13f48e17a14ae47f13f48e17a14ae47f13f48%?e17a14ae47f13f000000000000f03f000000000000f03f0000%?00000000f03f000000000000f03f000000000000f03f000000%?000000f03f000000000000f03f000000000000f03f00000000%?0000f03f000000000000f03f000000000000f03f0000000000%?00f03f000000000000f03f000000000000f03f000000000000%?f03f000000000000f03f000000000000f03f000000000000f0%?3f000000000000f03f000000000000f03f000000000000f03f%?000000000000f03f000000000000f03f000000000000f03f00%?0000000000f03f000000000000f03f000000000000f03f0000%?00000000f03f000000000000f03f000000000000f03f000000%?000000f03f000000000000f03f000000000000f03f00000000%?0000f03f000000000000f03f000000000000f03f0000000000%?00f03f000000000000f03f000000000000f03f000000000000%?f03f000000000000f03f000000000000f03f000000000000f0%?3f000000000000f03f000000000000f03f000000000000f03f%?000000000000f03f000000000000f03f000000000000f03f00%?0000000000f03f000000000000f03f000000000000f03f0000%?00000000f03f000000000000f03f000000000000f03f000000%?000000f03f000000000000f03f000000000000f03f00000000%?0000f03f000000000000f03f000000000000f03f0000000000%?00f03f000000000000f03f000000000000f03f000000000000%?f03f000000000000f03f000000000000f03f000000000000f0%?3f000000000000f03f000000000000f03f000000000000f03f%?000000000000f03f000000000000f03f000000000000f03f00%?0000000000f03f000000000000f03f000000000000f03f0000%?00000000f03f000000000000f03f000000000000f03f000000%?000000f03f000000000000f03f000000000000f03f00000000%?0000f03f000000000000f03f000000000000f03f0000000000%?00f03f000000000000f03f000000000000f03f000000000000%?f03f000000000000f03f000000000000f03f713d0dd7a370ed%?3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f%?713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f71%?3d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d%?0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0d%?d7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7%?a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a3%?70ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370%?ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed%?3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f%?713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f71%?3d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d%?0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0d%?d7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7%?a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a3%?70ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370%?ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed%?3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f%?713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f71%?3d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d%?0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0d%?d7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7%?a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a3%?70ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370%?ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed%?3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f%?713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f71%?3d0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d%?0dd7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0d%?d7a370ed3f713d0dd7a370ed3f713d0dd7a370ed3f713d0dd7%?a370ed3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c%?8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8f%?ea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea%?3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f%?8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8f%?c2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2%?f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5%?285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f528%?5c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c%?8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8f%?ea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea%?3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f%?8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8f%?c2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2%?f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5%?285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f528%?5c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c%?8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8f%?ea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea%?3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f%?8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8f%?c2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2%?f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5%?285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f528%?5c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c%?8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8f%?ea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea%?3f8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f%?8fc2f5285c8fea3f8fc2f5285c8fea3f8fc2f5285c8fea3f8f%?c2f5285c8fea3f8fc2f5285c8fea3f000000000000e83f0000%?00000000e83f000000000000e83f000000000000e83f000000%?000000e83f000000000000e83f000000000000e83f00000000%?0000e83f000000000000e83f000000000000e83f0000000000%?00e83f000000000000e83f000000000000e83f000000000000%?e83f000000000000e83f000000000000e83f000000000000e8%?3f000000000000e83f000000000000e83f000000000000e83f%?000000000000e83f000000000000e83f000000000000e83f00%?0000000000e83f000000000000e83f000000000000e83f0000%?00000000e83f000000000000e83f000000000000e83f000000%?000000e83f000000000000e83f000000000000e83f00000000%?0000e83f000000000000e83f000000000000e83f0000000000%?00e83f000000000000e83f000000000000e83f000000000000%?e83f000000000000e83f000000000000e83f000000000000e8%?3f000000000000e83f000000000000e83f000000000000e83f%?000000000000e83f000000000000e83f000000000000e83f00%?0000000000e83f000000000000e83f000000000000e83f0000%?00000000e83f000000000000e83f000000000000e83f000000%?000000e83f000000000000e83f000000000000e83f00000000%?0000e83f000000000000e83f000000000000e83f0000000000%?00e83f000000000000e83f000000000000e83f000000000000%?e83f000000000000e83f000000000000e83f000000000000e8%?3f000000000000e83f000000000000e83f000000000000e83f%?000000000000e83f000000000000e83f000000000000e83f00%?0000000000e83f000000000000e83f000000000000e83f0000%?00000000e83f000000000000e83f000000000000e83f000000%?000000e83f000000000000e83f000000000000e83f00000000%?0000e83f000000000000e83f000000000000e83f0000000000%?00e83f000000000000e83f000000000000e83f000000000000%?e83f000000000000e83f000000000000e83f000000000000e8%?3f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f%?713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f71%?3d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d%?0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0d%?d7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7%?a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a3%?70e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370%?e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e5%?3f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f%?713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f71%?3d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d%?0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0d%?d7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7%?a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a3%?70e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370%?e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e5%?3f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f%?713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f71%?3d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d%?0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0d%?d7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7%?a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a3%?70e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370%?e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e5%?3f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f%?713d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f71%?3d0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d%?0dd7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0d%?d7a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7%?a370e53f713d0dd7a370e53f713d0dd7a370e53f713d0dd7a3%?70e53f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8f%?e23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe2%?3f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f%?8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8f%?c2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2%?f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5%?285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f528%?5c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c%?8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8f%?e23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe2%?3f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f%?8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8f%?c2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2%?f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5%?285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f528%?5c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c%?8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8f%?e23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe2%?3f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f%?8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8f%?c2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2%?f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5%?285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f528%?5c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c%?8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8f%?e23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe2%?3f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f%?8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8f%?c2f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2%?f5285c8fe23f8fc2f5285c8fe23f8fc2f5285c8fe23f8fc2f5%?285c8fe23f000000000000e03f000000000000e03f00000000%?0000e03f000000000000e03f000000000000e03f0000000000%?00e03f000000000000e03f000000000000e03f000000000000%?e03f000000000000e03f000000000000e03f000000000000e0%?3f000000000000e03f000000000000e03f000000000000e03f%?000000000000e03f000000000000e03f000000000000e03f00%?0000000000e03f000000000000e03f000000000000e03f0000%?00000000e03f000000000000e03f000000000000e03f000000%?000000e03f000000000000e03f000000000000e03f00000000%?0000e03f000000000000e03f000000000000e03f0000000000%?00e03f000000000000e03f000000000000e03f000000000000%?e03f000000000000e03f000000000000e03f000000000000e0%?3f000000000000e03f000000000000e03f000000000000e03f%?000000000000e03f000000000000e03f000000000000e03f00%?0000000000e03f000000000000e03f000000000000e03f0000%?00000000e03f000000000000e03f000000000000e03f000000%?000000e03f000000000000e03f000000000000e03f00000000%?0000e03f000000000000e03f000000000000e03f0000000000%?00e03f000000000000e03f000000000000e03f000000000000%?e03f000000000000e03f000000000000e03f000000000000e0%?3f000000000000e03f000000000000e03f000000000000e03f%?000000000000e03f000000000000e03f000000000000e03f00%?0000000000e03f000000000000e03f000000000000e03f0000%?00000000e03f000000000000e03f000000000000e03f000000%?000000e03f000000000000e03f000000000000e03f00000000%?0000e03f000000000000e03f000000000000e03f0000000000%?00e03f000000000000e03f000000000000e03f000000000000%?e03f000000000000e03f000000000000e03f000000000000e0%?3f000000000000e03f000000000000e03f000000000000e03f%?000000000000e03f000000000000e03f000000000000e03f00%?0000000000e03fe17a14ae47e1da3fe17a14ae47e1da3fe17a%?14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14%?ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae%?47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47%?e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1%?da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da%?3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3f%?e17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe1%?7a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a%?14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14%?ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae%?47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47%?e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1%?da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da%?3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3f%?e17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe1%?7a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a%?14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14%?ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae%?47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47%?e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1%?da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da%?3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3f%?e17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe1%?7a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a%?14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14%?ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae%?47e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47%?e1da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1%?da3fe17a14ae47e1da3fe17a14ae47e1da3fe17a14ae47e1da%?3fe17a14ae47e1da3f1f85eb51b81ed53f1f85eb51b81ed53f%?1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f%?85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85%?eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb%?51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51%?b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b8%?1ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81e%?d53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed5%?3f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f%?1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f%?85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85%?eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb%?51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51%?b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b8%?1ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81e%?d53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed5%?3f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f%?1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f%?85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85%?eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb%?51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51%?b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b8%?1ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81e%?d53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed5%?3f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f%?1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f%?85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85%?eb51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb%?51b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51%?b81ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b8%?1ed53f1f85eb51b81ed53f1f85eb51b81ed53f1f85eb51b81e%?d53f000000000000d03f000000000000d03f000000000000d0%?3f000000000000d03f000000000000d03f000000000000d03f%?000000000000d03f000000000000d03f000000000000d03f00%?0000000000d03f000000000000d03f000000000000d03f0000%?00000000d03f000000000000d03f000000000000d03f000000%?000000d03f000000000000d03f000000000000d03f00000000%?0000d03f000000000000d03f000000000000d03f0000000000%?00d03f000000000000d03f000000000000d03f000000000000%?d03f000000000000d03f000000000000d03f000000000000d0%?3f000000000000d03f000000000000d03f000000000000d03f%?000000000000d03f000000000000d03f000000000000d03f00%?0000000000d03f000000000000d03f000000000000d03f0000%?00000000d03f000000000000d03f000000000000d03f000000%?000000d03f000000000000d03f000000000000d03f00000000%?0000d03f000000000000d03f000000000000d03f0000000000%?00d03f000000000000d03f000000000000d03f000000000000%?d03f000000000000d03f000000000000d03f000000000000d0%?3f000000000000d03f000000000000d03f000000000000d03f%?000000000000d03f000000000000d03f000000000000d03f00%?0000000000d03f000000000000d03f000000000000d03f0000%?00000000d03f000000000000d03f000000000000d03f000000%?000000d03f000000000000d03f000000000000d03f00000000%?0000d03f000000000000d03f000000000000d03f0000000000%?00d03f000000000000d03f000000000000d03f000000000000%?d03f000000000000d03f000000000000d03f000000000000d0%?3f000000000000d03f000000000000d03f000000000000d03f%?000000000000d03f000000000000d03f000000000000d03f00%?0000000000d03f000000000000d03f000000000000d03f0000%?00000000d03f000000000000d03f000000000000d03f000000%?000000d03f000000000000d03f000000000000d03f00000000%?0000d03f000000000000d03f000000000000d03fc3f5285c8f%?c2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2%?c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c5%?3fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53f%?c3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3%?f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5%?285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f528%?5c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c%?8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8f%?c2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2%?c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c5%?3fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53f%?c3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3%?f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5%?285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f528%?5c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c%?8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8f%?c2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2%?c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c5%?3fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53f%?c3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3%?f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5%?285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f528%?5c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c%?8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8f%?c2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2%?c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c5%?3fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53f%?c3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3%?f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5%?285c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f528%?5c8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53fc3f5285c%?8fc2c53fc3f5285c8fc2c53fc3f5285c8fc2c53f7b14ae47e1%?7ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17a%?b43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab4%?3f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f%?7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b%?14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14%?ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae%?47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47%?e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e1%?7ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17a%?b43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab4%?3f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f%?7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b%?14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14%?ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae%?47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47%?e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e1%?7ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17a%?b43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab4%?3f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f%?7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b%?14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14%?ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae%?47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47%?e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e1%?7ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17a%?b43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab4%?3f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f%?7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b%?14ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14%?ae47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae%?47e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f7b14ae47%?e17ab43f7b14ae47e17ab43f7b14ae47e17ab43f0000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000007b14ae47e1%?7ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17a%?b4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4%?bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf%?7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b%?14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14%?ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae%?47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47%?e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e1%?7ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17a%?b4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4%?bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf%?7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b%?14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14%?ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae%?47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47%?e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e1%?7ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17a%?b4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4%?bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf%?7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b%?14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14%?ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae%?47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47%?e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e1%?7ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17a%?b4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4%?bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf%?7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b%?14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14%?ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae%?47e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47%?e17ab4bf7b14ae47e17ab4bf7b14ae47e17ab4bf7b14ae47e1%?7ab4bf7b14ae47e17ab4bfc3f5285c8fc2c5bfc3f5285c8fc2%?c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5%?bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bf%?c3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3%?f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5%?285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f528%?5c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c%?8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8f%?c2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2%?c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5%?bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bf%?c3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3%?f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5%?285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f528%?5c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c%?8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8f%?c2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2%?c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5%?bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bf%?c3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3%?f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5%?285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f528%?5c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c%?8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8f%?c2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2%?c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5%?bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bf%?c3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3%?f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5%?285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f528%?5c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c%?8fc2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bfc3f5285c8f%?c2c5bfc3f5285c8fc2c5bfc3f5285c8fc2c5bf000000000000%?d0bf000000000000d0bf000000000000d0bf000000000000d0%?bf000000000000d0bf000000000000d0bf000000000000d0bf%?000000000000d0bf000000000000d0bf000000000000d0bf00%?0000000000d0bf000000000000d0bf000000000000d0bf0000%?00000000d0bf000000000000d0bf000000000000d0bf000000%?000000d0bf000000000000d0bf000000000000d0bf00000000%?0000d0bf000000000000d0bf000000000000d0bf0000000000%?00d0bf000000000000d0bf000000000000d0bf000000000000%?d0bf000000000000d0bf000000000000d0bf000000000000d0%?bf000000000000d0bf000000000000d0bf000000000000d0bf%?000000000000d0bf000000000000d0bf000000000000d0bf00%?0000000000d0bf000000000000d0bf000000000000d0bf0000%?00000000d0bf000000000000d0bf000000000000d0bf000000%?000000d0bf000000000000d0bf000000000000d0bf00000000%?0000d0bf000000000000d0bf000000000000d0bf0000000000%?00d0bf000000000000d0bf000000000000d0bf000000000000%?d0bf000000000000d0bf000000000000d0bf000000000000d0%?bf000000000000d0bf000000000000d0bf000000000000d0bf%?000000000000d0bf000000000000d0bf000000000000d0bf00%?0000000000d0bf000000000000d0bf000000000000d0bf0000%?00000000d0bf000000000000d0bf000000000000d0bf000000%?000000d0bf000000000000d0bf000000000000d0bf00000000%?0000d0bf000000000000d0bf000000000000d0bf0000000000%?00d0bf000000000000d0bf000000000000d0bf000000000000%?d0bf000000000000d0bf000000000000d0bf000000000000d0%?bf000000000000d0bf000000000000d0bf000000000000d0bf%?000000000000d0bf000000000000d0bf000000000000d0bf00%?0000000000d0bf000000000000d0bf000000000000d0bf0000%?00000000d0bf000000000000d0bf000000000000d0bf000000%?000000d0bf000000000000d0bf000000000000d0bf00000000%?0000d0bf000000000000d0bf000000000000d0bf0000000000%?00d0bf000000000000d0bf1f85eb51b81ed5bf1f85eb51b81e%?d5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5%?bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf%?1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f%?85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85%?eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb%?51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51%?b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b8%?1ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81e%?d5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5%?bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf%?1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f%?85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85%?eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb%?51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51%?b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b8%?1ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81e%?d5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5%?bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf%?1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f%?85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85%?eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb%?51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51%?b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b8%?1ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81e%?d5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5%?bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf%?1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f%?85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85%?eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb%?51b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51%?b81ed5bf1f85eb51b81ed5bf1f85eb51b81ed5bf1f85eb51b8%?1ed5bf1f85eb51b81ed5bfe17a14ae47e1dabfe17a14ae47e1%?dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1da%?bfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabf%?e17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe1%?7a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a%?14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14%?ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae%?47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47%?e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1%?dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1da%?bfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabf%?e17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe1%?7a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a%?14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14%?ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae%?47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47%?e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1%?dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1da%?bfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabf%?e17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe1%?7a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a%?14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14%?ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae%?47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47%?e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1%?dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1da%?bfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabf%?e17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe1%?7a14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a%?14ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14%?ae47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae%?47e1dabfe17a14ae47e1dabfe17a14ae47e1dabfe17a14ae47%?e1dabfe17a14ae47e1dabf000000000000e0bf000000000000%?e0bf000000000000e0bf000000000000e0bf000000000000e0%?bf000000000000e0bf000000000000e0bf000000000000e0bf%?000000000000e0bf000000000000e0bf000000000000e0bf00%?0000000000e0bf000000000000e0bf000000000000e0bf0000%?00000000e0bf000000000000e0bf000000000000e0bf000000%?000000e0bf000000000000e0bf000000000000e0bf00000000%?0000e0bf000000000000e0bf000000000000e0bf0000000000%?00e0bf000000000000e0bf000000000000e0bf000000000000%?e0bf000000000000e0bf000000000000e0bf000000000000e0%?bf000000000000e0bf000000000000e0bf000000000000e0bf%?000000000000e0bf000000000000e0bf000000000000e0bf00%?0000000000e0bf000000000000e0bf000000000000e0bf0000%?00000000e0bf000000000000e0bf000000000000e0bf000000%?000000e0bf000000000000e0bf000000000000e0bf00000000%?0000e0bf000000000000e0bf000000000000e0bf0000000000%?00e0bf000000000000e0bf000000000000e0bf000000000000%?e0bf000000000000e0bf000000000000e0bf000000000000e0%?bf000000000000e0bf000000000000e0bf000000000000e0bf%?000000000000e0bf000000000000e0bf000000000000e0bf00%?0000000000e0bf000000000000e0bf000000000000e0bf0000%?00000000e0bf000000000000e0bf000000000000e0bf000000%?000000e0bf000000000000e0bf000000000000e0bf00000000%?0000e0bf000000000000e0bf000000000000e0bf0000000000%?00e0bf000000000000e0bf000000000000e0bf000000000000%?e0bf000000000000e0bf000000000000e0bf000000000000e0%?bf000000000000e0bf000000000000e0bf000000000000e0bf%?000000000000e0bf000000000000e0bf000000000000e0bf00%?0000000000e0bf000000000000e0bf000000000000e0bf0000%?00000000e0bf000000000000e0bf000000000000e0bf000000%?000000e0bf000000000000e0bf000000000000e0bf00000000%?0000e0bf000000000000e0bf000000000000e0bf0000000000%?00e0bf000000000000e0bf000000000000e0bf8fc2f5285c8f%?e2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2%?bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf%?8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8f%?c2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2%?f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5%?285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f528%?5c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c%?8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8f%?e2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2%?bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf%?8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8f%?c2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2%?f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5%?285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f528%?5c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c%?8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8f%?e2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2%?bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf%?8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8f%?c2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2%?f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5%?285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f528%?5c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c%?8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8f%?e2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2%?bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf%?8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8f%?c2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2%?f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5%?285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f528%?5c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c%?8fe2bf8fc2f5285c8fe2bf8fc2f5285c8fe2bf8fc2f5285c8f%?e2bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5%?bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf%?713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf71%?3d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d%?0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0d%?d7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7%?a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a3%?70e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370%?e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5%?bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf%?713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf71%?3d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d%?0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0d%?d7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7%?a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a3%?70e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370%?e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5%?bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf%?713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf71%?3d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d%?0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0d%?d7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7%?a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a3%?70e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370%?e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5%?bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf%?713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf71%?3d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d%?0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0d%?d7a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7%?a370e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a3%?70e5bf713d0dd7a370e5bf713d0dd7a370e5bf713d0dd7a370%?e5bf713d0dd7a370e5bf000000000000e8bf000000000000e8%?bf000000000000e8bf000000000000e8bf000000000000e8bf%?000000000000e8bf000000000000e8bf000000000000e8bf00%?0000000000e8bf000000000000e8bf000000000000e8bf0000%?00000000e8bf000000000000e8bf000000000000e8bf000000%?000000e8bf000000000000e8bf000000000000e8bf00000000%?0000e8bf000000000000e8bf000000000000e8bf0000000000%?00e8bf000000000000e8bf000000000000e8bf000000000000%?e8bf000000000000e8bf000000000000e8bf000000000000e8%?bf000000000000e8bf000000000000e8bf000000000000e8bf%?000000000000e8bf000000000000e8bf000000000000e8bf00%?0000000000e8bf000000000000e8bf000000000000e8bf0000%?00000000e8bf000000000000e8bf000000000000e8bf000000%?000000e8bf000000000000e8bf000000000000e8bf00000000%?0000e8bf000000000000e8bf000000000000e8bf0000000000%?00e8bf000000000000e8bf000000000000e8bf000000000000%?e8bf000000000000e8bf000000000000e8bf000000000000e8%?bf000000000000e8bf000000000000e8bf000000000000e8bf%?000000000000e8bf000000000000e8bf000000000000e8bf00%?0000000000e8bf000000000000e8bf000000000000e8bf0000%?00000000e8bf000000000000e8bf000000000000e8bf000000%?000000e8bf000000000000e8bf000000000000e8bf00000000%?0000e8bf000000000000e8bf000000000000e8bf0000000000%?00e8bf000000000000e8bf000000000000e8bf000000000000%?e8bf000000000000e8bf000000000000e8bf000000000000e8%?bf000000000000e8bf000000000000e8bf000000000000e8bf%?000000000000e8bf000000000000e8bf000000000000e8bf00%?0000000000e8bf000000000000e8bf000000000000e8bf0000%?00000000e8bf000000000000e8bf000000000000e8bf000000%?000000e8bf000000000000e8bf000000000000e8bf00000000%?0000e8bf000000000000e8bf000000000000e8bf0000000000%?00e8bf000000000000e8bf000000000000e8bf000000000000%?e8bf000000000000e8bf000000000000e8bf8fc2f5285c8fea%?bf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf%?8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8f%?c2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2%?f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5%?285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f528%?5c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c%?8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8f%?eabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8fea%?bf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf%?8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8f%?c2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2%?f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5%?285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f528%?5c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c%?8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8f%?eabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8fea%?bf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf%?8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8f%?c2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2%?f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5%?285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f528%?5c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c%?8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8f%?eabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8fea%?bf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf%?8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8f%?c2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2%?f5285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5%?285c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f528%?5c8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c%?8feabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8f%?eabf8fc2f5285c8feabf8fc2f5285c8feabf8fc2f5285c8fea%?bf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf%?713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf71%?3d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf713d%?0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf713d0d%?d7a370edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7%?a370edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a3%?70edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370%?edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370ed%?bf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf%?713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf71%?3d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf713d%?0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf713d0d%?d7a370edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7%?a370edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a3%?70edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370%?edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370ed%?bf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf%?713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf71%?3d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf713d%?0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf713d0d%?d7a370edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7%?a370edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a3%?70edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370%?edbf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370ed%?bf713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf%?713d0dd7a370edbf713d0dd7a370edbf713d0dd7a370edbf71%?3d0dd7a370edbf000000000000f0bf000000000000f0bf0000%?00000000f0bf000000000000f0bf000000000000f0bf000000%?000000f0bf000000000000f0bf000000000000f0bf00000000%?0000f0bf000000000000f0bf000000000000f0bf0000000000%?00f0bf000000000000f0bf000000000000f0bf000000000000%?f0bf000000000000f0bf000000000000f0bf000000000000f0%?bf000000000000f0bf000000000000f0bf000000000000f0bf%?000000000000f0bf000000000000f0bf000000000000f0bf00%?0000000000f0bf000000000000f0bf000000000000f0bf0000%?00000000f0bf000000000000f0bf000000000000f0bf000000%?000000f0bf000000000000f0bf000000000000f0bf00000000%?0000f0bf000000000000f0bf000000000000f0bf0000000000%?00f0bf000000000000f0bf000000000000f0bf000000000000%?f0bf000000000000f0bf000000000000f0bf000000000000f0%?bf000000000000f0bf000000000000f0bf000000000000f0bf%?000000000000f0bf000000000000f0bf000000000000f0bf00%?0000000000f0bf000000000000f0bf000000000000f0bf0000%?00000000f0bf000000000000f0bf000000000000f0bf000000%?000000f0bf000000000000f0bf000000000000f0bf00000000%?0000f0bf000000000000f0bf000000000000f0bf0000000000%?00f0bf000000000000f0bf000000000000f0bf000000000000%?f0bf000000000000f0bf000000000000f0bf000000000000f0%?bf000000000000f0bf000000000000f0bf000000000000f0bf%?000000000000f0bf000000000000f0bf000000000000f0bf00%?0000000000f0bf000000000000f0bf000000000000f0bf0000%?00000000f0bf000000000000f0bf000000000000f0bf000000%?000000f0bf000000000000f0bf000000000000f0bf00000000%?0000f0bf000000000000f0bf000000000000f0bf0000000000%?00f0bf000000000000f0bf000000000000f0bf000000000000%?f0bf000000000000f0bf48e17a14ae47f1bf48e17a14ae47f1%?bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf%?48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48%?e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e1%?7a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a%?14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14%?ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae%?47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47%?f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1%?bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf%?48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48%?e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e1%?7a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a%?14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14%?ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae%?47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47%?f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1%?bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf%?48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48%?e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e1%?7a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a%?14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14%?ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae%?47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47%?f1bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1%?bf48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf%?48e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bf48%?e17a14ae47f1bf48e17a14ae47f1bf48e17a14ae47f1bfb81e%?85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85%?eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb%?51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51%?b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8%?f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2%?bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bf%?b81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb8%?1e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e%?85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85%?eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb%?51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51%?b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8%?f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2%?bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bf%?b81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb8%?1e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e%?85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85%?eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb%?51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51%?b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8%?f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2%?bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bf%?b81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb8%?1e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e%?85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85%?eb51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb%?51b8f2bfb81e85eb51b8f2bfb81e85eb51b8f2bfb81e85eb51%?b8f2bfb81e85eb51b8f2bf000000000000f4bf000000000000%?f4bf000000000000f4bf000000000000f4bf000000000000f4%?bf000000000000f4bf000000000000f4bf000000000000f4bf%?000000000000f4bf000000000000f4bf000000000000f4bf00%?0000000000f4bf000000000000f4bf000000000000f4bf0000%?00000000f4bf000000000000f4bf000000000000f4bf000000%?000000f4bf000000000000f4bf000000000000f4bf00000000%?0000f4bf000000000000f4bf000000000000f4bf0000000000%?00f4bf000000000000f4bf000000000000f4bf000000000000%?f4bf000000000000f4bf000000000000f4bf000000000000f4%?bf000000000000f4bf000000000000f4bf000000000000f4bf%?000000000000f4bf000000000000f4bf000000000000f4bf00%?0000000000f4bf000000000000f4bf000000000000f4bf0000%?00000000f4bf000000000000f4bf000000000000f4bf000000%?000000f4bf000000000000f4bf000000000000f4bf00000000%?0000f4bf000000000000f4bf000000000000f4bf0000000000%?00f4bf000000000000f4bf000000000000f4bf000000000000%?f4bf000000000000f4bf000000000000f4bf000000000000f4%?bf000000000000f4bf000000000000f4bf000000000000f4bf%?000000000000f4bf000000000000f4bf000000000000f4bf00%?0000000000f4bf000000000000f4bf000000000000f4bf0000%?00000000f4bf000000000000f4bf000000000000f4bf000000%?000000f4bf000000000000f4bf000000000000f4bf00000000%?0000f4bf000000000000f4bf000000000000f4bf0000000000%?00f4bf000000000000f4bf000000000000f4bf000000000000%?f4bf000000000000f4bf000000000000f4bf48e17a14ae47f5%?bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf%?48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48%?e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e1%?7a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a%?14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14%?ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae%?47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47%?f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5%?bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf%?48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48%?e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e1%?7a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a%?14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14%?ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae%?47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47%?f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5%?bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf%?48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48%?e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e1%?7a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a%?14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14%?ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae%?47f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47%?f5bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5%?bf48e17a14ae47f5bf48e17a14ae47f5bf48e17a14ae47f5bf%?b81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb8%?1e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e%?85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85%?eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb%?51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51%?b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8%?f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6%?bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bf%?b81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb8%?1e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e%?85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85%?eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb%?51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51%?b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8%?f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6%?bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bf%?b81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb8%?1e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e%?85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85%?eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb%?51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51%?b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8%?f6bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6%?bfb81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bf%?b81e85eb51b8f6bfb81e85eb51b8f6bfb81e85eb51b8f6bf00%?0000000000f8bf000000000000f8bf000000000000f8bf0000%?00000000f8bf000000000000f8bf000000000000f8bf000000%?000000f8bf000000000000f8bf000000000000f8bf00000000%?0000f8bf000000000000f8bf000000000000f8bf0000000000%?00f8bf000000000000f8bf000000000000f8bf000000000000%?f8bf000000000000f8bf000000000000f8bf000000000000f8%?bf000000000000f8bf000000000000f8bf000000000000f8bf%?000000000000f8bf000000000000f8bf000000000000f8bf00%?0000000000f8bf000000000000f8bf000000000000f8bf0000%?00000000f8bf000000000000f8bf000000000000f8bf000000%?000000f8bf000000000000f8bf000000000000f8bf00000000%?0000f8bf000000000000f8bf000000000000f8bf0000000000%?00f8bf000000000000f8bf000000000000f8bf000000000000%?f8bf000000000000f8bf000000000000f8bf000000000000f8%?bf000000000000f8bf000000000000f8bf000000000000f8bf%?000000000000f8bf000000000000f8bf000000000000f8bf00%?0000000000f8bf000000000000f8bf000000000000f8bf0000%?00000000f8bf000000000000f8bf000000000000f8bf000000%?000000f8bf000000000000f8bf000000000000f8bf00000000%?0000f8bf000000000000f8bf000000000000f8bf0000000000%?00f8bf000000000000f8bf000000000000f8bf000000000000%?f8bf000000000000f8bf000000000000f8bf000000000000f8%?bf000000000000f8bf000000000000f8bf000000000000f8bf%?000000000000f8bf000000000000f8bf000000000000f8bf00%?0000000000f8bf000000000000f8bf000000000000f8bf0000%?00000000f8bf000000000000f8bf000000000000f8bf000000%?000000f8bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14%?ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae%?47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47%?f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9%?bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf%?48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48%?e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e1%?7a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a%?14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14%?ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae%?47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47%?f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9%?bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf%?48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48%?e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e1%?7a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a%?14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14%?ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae%?47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47%?f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9%?bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf%?48e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48%?e17a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e1%?7a14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a%?14ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bf48e17a14%?ae47f9bf48e17a14ae47f9bf48e17a14ae47f9bfb81e85eb51%?b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8%?fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fa%?bfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabf%?b81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb8%?1e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e%?85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85%?eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb%?51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51%?b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8%?fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fa%?bfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabf%?b81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb8%?1e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e%?85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85%?eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb%?51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51%?b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8%?fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fa%?bfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabf%?b81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb8%?1e85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e%?85eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85%?eb51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb%?51b8fabfb81e85eb51b8fabfb81e85eb51b8fabfb81e85eb51%?b8fabfb81e85eb51b8fabf000000000000fcbf000000000000%?fcbf000000000000fcbf000000000000fcbf000000000000fc%?bf000000000000fcbf000000000000fcbf000000000000fcbf%?000000000000fcbf000000000000fcbf000000000000fcbf00%?0000000000fcbf000000000000fcbf000000000000fcbf0000%?00000000fcbf000000000000fcbf000000000000fcbf000000%?000000fcbf000000000000fcbf000000000000fcbf00000000%?0000fcbf000000000000fcbf000000000000fcbf0000000000%?00fcbf000000000000fcbf000000000000fcbf000000000000%?fcbf000000000000fcbf000000000000fcbf000000000000fc%?bf000000000000fcbf000000000000fcbf000000000000fcbf%?000000000000fcbf000000000000fcbf000000000000fcbf00%?0000000000fcbf000000000000fcbf000000000000fcbf0000%?00000000fcbf000000000000fcbf000000000000fcbf000000%?000000fcbf000000000000fcbf000000000000fcbf00000000%?0000fcbf000000000000fcbf000000000000fcbf0000000000%?00fcbf000000000000fcbf000000000000fcbf000000000000%?fcbf000000000000fcbf000000000000fcbf000000000000fc%?bf000000000000fcbf000000000000fcbf000000000000fcbf%?000000000000fcbf000000000000fcbf000000000000fcbf00%?0000000000fcbf000000000000fcbf000000000000fcbf0000%?00000000fcbf000000000000fcbf000000000000fcbf000000%?000000fcbf000000000000fcbf000000000000fcbf00000000%?0000fcbf000000000000fcbf000000000000fcbf0000000000%?00fcbf000000000000fcbf000000000000fcbf48e17a14ae47%?fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fd%?bf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf%?48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48%?e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e1%?7a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a%?14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14%?ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae%?47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47%?fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fd%?bf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf%?48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48%?e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e1%?7a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a%?14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14%?ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae%?47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47%?fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fd%?bf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf%?48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48%?e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e1%?7a14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a%?14ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14%?ae47fdbf48e17a14ae47fdbf48e17a14ae47fdbf48e17a14ae%?47fdbf48e17a14ae47fdbf48e17a14ae47fdbfb81e85eb51b8%?febfb81e85eb51b8febfb81e85eb51b8febfb81e85eb51b8fe%?bfb81e85eb51b8febfb81e85eb51b8febfb81e85eb51b8febf%?b81e85eb51b8febfb81e85eb51b8febfb81e85eb51b8febfb8%?1e85eb51b8febfb81e85eb51b8febfb81e85eb51b8febfb81e%?85eb51b8febfb81e85eb51b8febfb81e85eb51b8febfb81e85%?eb51b8febfb81e85eb51b8febfb81e85eb51b8febfb81e85eb%?51b8febfb81e85eb51b8febfb81e85eb51b8febfb81e85eb51%?b8febfb81e85eb51b8febfb81e85eb51b8febfb81e85eb51b8%?febfb81e85eb51b8febfb81e85eb51b8febfb81e85eb51b8fe%?bfb81e85eb51b8febfb81e85eb51b8febfb81e85eb51b8febf%?b81e85eb51b8febfb81e85eb51b8febfb81e85eb51b8febfb8%?1e85eb51b8febfb81e85eb51b8febfb81e85eb51b8febfb81e%?85eb51b8febfb81e85eb51b8febfb81e85eb51b8febfb81e85%?eb51b8febfb81e85eb51b8febfb81e85eb51b8febfb81e85eb%?51b8febfb81e85eb51b8febfb81e85eb51b8febfb81e85eb51%?b8febfb81e85eb51b8febfb81e85eb51b8febfb81e85eb51b8%?febfb81e85eb51b8febfb81e85eb51b8febf00000000000000%?c000000000000000c000000000000000c000000000000000c0%?00000000000000c000000000000000c000000000000000c000%?000000000000c000000000000000c000000000000000c00000%?0000000000c000000000000000c000000000000000c0000000%?00000000c000000000000000c000000000000000c000000000%?000000c000000000000000c000000000000000c00000000000%?0000c000000000000000c000000000000000c0000000000000%?00c000000000000000c000000000000000c000000000000000%?c000000000000000c000000000000000c000000000000000c0%?00000000000000c000000000000000c000000000000000c000%?000000000000c000000000000000c000000000000000c00000%?0000000000c000000000000000c000000000000000c0000000%?00000000c000000000000000c000000000000000c000000000%?000000c000000000000000c000000000000000c00000000000%?0000c000000000000000c000000000000000c0000000000000%?00c000000000000000c000000000000000c00e000000884900%?00060000000800000006000000000000000500000008000000%?a62400000100000001000000060000007a6261746879000004%?0000004c49000029006300fa002801830180030107d9084509%?080d170d250de50df10d7f0bba0b780c810c3e0d450da60dc9%?0dce0dcc0de00df70d190e380e350e170e100ef50d0f0e100e%?130e160e340e450e4a0e4e0e520e540e5d0e6a0e750e820e98%?0eb50ecf0ed30ed40ed40ed40ed60ed80eea0ef80e090f160f%?1f0f250f290f2c0f320f390f440f500f5e0f6f0f810f9f0fa1%?0fbf0fd20fe00fe90fef0fee0fd30faa0fa20f880f730f520f%?1e0fcd0ebf0efa0e1f0f4b0f8f0fa30ff80f61106510681097%?10ad10d110f210141133113b118211bf11f5110d121c122b12%?2500a6005a01f900f4004e01e602e1076d083309450993091b%?0d840ded0daf0bf30b7b0cc60c420d4a0d800d930d9a0db20d%?c90de90d080e060ee90dd20dcc0dcb0dcd0dcf0de00dfe0d02%?0e060e0d0e100e130e160e3b0e4a0e5a0e710e8a0ea20eb00e%?b40eb70eba0ec10ed40edc0eeb0ef80e030f0d0f0c0f0d0f0e%?0f130f1c0f290f380f470f580f6c0f810f9f0fa20fbe0fcd0f%?d70fdd0fde0fc50fa80f970f890f670f370fc10e390e210e6f%?0eb50edf0e100f530f9e0fa50f1710621066109410a710c610%?e910ff1031113c119511d511f711111229120d002700ab0007%?01d200880028011503dc06ff0715080c08f208ba09260dea0d%?ac0bb90b780ccd0c2b0d420d790d6f0d7d0d910db10dcc0dc8%?0db00d990d8c0d870d890d8d0d990da40dab0dac0db50dc30d%?dc0d0d0e0e0e130e2f0e430e550e6c0e7e0e8b0e940e9c0ea8%?0eba0ecf0ed70ee90ef30ef60ef60ef50ef50ef50ef90e070f%?1c0f300f420f550f6c0f820f9e0faa0fba0fc50fcd0fd10fcb%?0fb50fa50f8c0f630f220f980e1e0e190e160e520e740e880e%?c70e160f9b0fa10f0b10601065106a109f10bd10e210fc1034%?116511aa11de11fc1121120d000d003a009e0012014d01e700%?0f015b0261030f042904c607920898097d0de80daa0bb60b76%?0ccd0c3b0d3e0d360d430d4f0d730d870d850d7d0d720d4a0d%?480d490d4a0d4c0d4e0d510d4e0d510d810da10dba0dd30de6%?0d060e0f0e190e350e4e0e620e730e800e8d0e9d0eb00ec30e%?d20ed40ed50ed50ed30ed30ed40ed80edc0ef70e0d0f270f3f%?0f560f6e0f870f9c0fa30fb00fba0fc30fc80fbe0fa60fa00f%?6e0f180fa90edb0d100e550d060e070e1a0e330e880ef60e97%?0f9f0ff20f2b105f1068109110b910e41010113e118611c011%?f31111120d000d000d00150050009800bf006b00ab005501c8%?01d6021e04be07c708af09740ddc0d430be50b2d0c710cc50c%?ef0c070d270d4b0d520d4d0d4a0d470d450dfc0cfb0c080d07%?0d060d060d0f0d420d470d510d750d910daa0dc30dd80def0d%?0f0e190e330e4a0e5c0e6b0e790e870e960ea40eab0eab0eaa%?0eaa0eab0eae0eb70ed50ed90ede0e030f250f410f590f710f%?850f950fa00fa20fb10fbc0fc20fbb0fa00f930f1c0f940ee9%?0d6d0ce50b240d960daf0ddc0d190e1c0ec40e3a0f960fde0f%?1110481066109c10bf10f5102f1165119d11d511fa110d000d%?000d000d000d000d0001000d000d007700ea000d0118039c07%?1208fc08a5090f0d590da30d460bab0b670ca50cc80cf00c14%?0d110df10c900c8d0c8b0c910cbc0cca0cc90cc90cca0cd10c%?d90cf00c100d430d4d0d6d0d880d9f0dbe0dd80df40d0f0e13%?0e3a0e440e4d0e580e630e6b0e6f0e710e730e760e7b0e850e%?960ea90eb90ed80ede0e0d0f2c0f460f5e0f740f860f910f9f%?0fa10fa90fb10fb50fc00f9a0f6b0fd60ef70df10dca0cf20c%?3e0d730da20db70d110e1a0ead0e280f930fce0f0d105c1067%?10a210d610281133117d11b711f1110d000d000d000d000d00%?0d000d000d000d000d006d00e5001302f40396070d087a08e7%?085209be09820deb0de60b680ca00ccd0cd90cca0c8c0c890c%?590c5c0c660c810c7f0c7e0c7d0c7f0c830c850c8b0cd00cf7%?0c1c0d3d0d480d6a0d8b0da70dc40dde0d090e0c0e0e0e2a0e%?3a0e380e330e360e3e0e430e430e4c0e5d0e710e870ea00eb6%?0ed80ef10e170f340f4e0f650f790f890f920f9a0fa30fa50f%?a60fb00f950f900f680fc50e2a0ee00d7f0d380d510d770d9d%?0dba0d120e1b0eab0e250f8f0fd50f161062106810b610f310%?2e1164119911d3110d000d000d000d000d000d000d000d000d%?000d0053009900e3000e0256033305a507bd078808f808c009%?690df10db30b730c770c830c840c830c580c530c420c2f0c23%?0c1e0c1d0c1c0c220c2e0c430c7d0c850cb40cda0cf20c170d%?3d0d4a0d710d880d980da40dba0dd40dfc0d000e030e1d0e2f%?0e0d0e0c0e0e0e160e340e4f0e680e840ea30ec10edd0e040f%?250f410f5a0f700f810f8e0f990fa10fa40fa30fa10f9b0fa9%?0f710f590fa30e000efd0d980d700d7b0d940db80dd00d140e%?280ebf0e390f8d0fd00f0e1063108110c7102a1132117d11b6%?112b000d000d000d000d000d000d000d000d000d000d005400%?6900db004d011b02f8031304f00580084c096309840def0db1%?0b190c480c780c4c0c2c0c120cfe0be80bc60bc40bc40bbe0b%?c00bf20b0f0c280c520c7e0c840cb80cd50cf30c1d0d400d48%?0d4f0d4f0d530d8b0da30db60dcb0dec0dfd0dfe0ddb0dd50d%?ee0d0f0e2e0e4b0e6a0e8c0eb10ed70ef80e190f360f510f69%?0f7c0f8d0f9c0fab0fb70fb30fa20f9e0f880f7b0f5e0f5c0f%?ba0e0d0e070eb70dac0db50dc90de20de10d1a0e640edb0e38%?0f960fa20f0c1064106e10db102b115c119b1136002b000d00%?0d000d000d000d000d000d000d000d000d00510045008c00e6%?000e022a026904f7067c084a09160d840def0db00b010c2a0c%?210c020cba0bb50baa0b830b710b720b7c0bb10bb60bb90bf6%?0b120c350c760c7e0c830cbf0ce20cfe0c0f0d110d170d460d%?4a0d550d5a0d850d9d0da20d990d8d0d850daa0dd80d0d0e2e%?0e510e790ea90ed30ef60e110f2f0f4a0f630f790f8c0f9e0f%?ad0fbb0fc00fba0fa00f9b0f550f580f6a0f860fe00e130e10%?0ee00dd10de20df40df30d130e390e880ed80e2e0f940fa10f%?fd0f6510a110f910311179113a0031002e000d000d000d000d%?000d000d000d000d000d000300290040005900bc002901f301%?ce03a907fd070309c809460d170bb60bb40bba0bbf0bb90b7d%?0b5d0b490b3f0b3d0b430b510b6e0ba90baf0bb70bf60b160c%?320c7a0c7d0ca80cca0cda0ce70cf50c050d140d1d0d2e0d46%?0d480d480d490d4e0d500d570d970ddd0d0f0e3d0e680ea40e%?d10ef60e0c0f280f430f5d0f750f8a0f9d0fad0fbb0fc30fc0%?0fbb0f9f0f980f600f840f810f8c0f870fd50e180e160e140e%?3b0ef70dff0d160e3c0e780ec80e180f650fa20f05106710c0%?10281137112a00360031002e000d000d000d000d000d000d00%?0d000d00090009003200350047002d00ee001d026c03aa0742%?084d09bb09260df70d280b2e0b390b280b0d0bf70def0dea0d%?ea0de20dc50dc40df80d300b6e0ba10bb00bbb0b020c2f0c7c%?0c810cb80cbb0cc10ccf0ce30cf60c050d100d160d1a0d1d0d%?220d260d4b0d560dae0d080e130e580e9f0ed00ef70e070f21%?0f3b0f550f6e0f840f980faa0fb80fc20fc40fbe0fb60f9f0f%?8b0f890faa0f940f910f8e0f8b0f870f840f180e180efd0d09%?0e110e1d0e610eb60e0c0f5b0fa30f25108110df102e112c00%?2700220032002d000d000d000d000d000d000d000d00090009%?000900090053005e005700ef0020020704ad07060892080e0d%?1e0dc20daf0dab0da20da10d9b0d960d930d910d7c0d540d58%?0d600d980de10d130b430b660ba60bbb0bc00b790c7c0c7e0c%?800ca40cba0cbf0cca0cd80ce50cee0cf70c070d1e0d250d4f%?0d8a0dd30d0e0e3e0e880ecc0eed0efe0e140f2e0f490f640f%?7b0f900fa20fb20fbd0fc30fc20fb50fa20f9f0f8b0f850f9f%?0fb20faf0fa20f8e0f5a0f860f190e280efd0dea0de90d140e%?5f0ebc0e180f680fa50f63109510f3102b0032003800220032%?002d000d000d000d000d000d000d0013001d00270031005a00%?7800a5002101480181026e046b0693074408e309f609fa095b%?0d0b0d110d160d190d1c0d200d240dfe09ec09080d3e0d490d%?8d0db50dcb0df90d340b8c0bbb0bbf0bc20b240c790c780c7d%?0c820cb20cba0cbf0cca0cdc0cfb0c1d0d4b0d7a0db40de90d%?1b0e6d0eac0ed20ee90eff0e1a0f390f550f6f0f850f980fa8%?0fb50fbc0fbd0fb00fa30fa00f9f0f980f920f8b0f790f590f%?2f0f1b0f370f0e0f180ef60de20dc60de40d120e740ecd0e2a%?0f7b0fa80f6610c410330044004c004100220028002d000d00%?0d000d000d000d0004000d000d000d000d000d000d000d0041%?004a00660136035c04f8076e0881093d0d2a0dcf09b409b709%?b709b509b209b109b409c109cc09c809e2091e0d280d2e0d39%?0daa0dfa0d360b690bb70bba0bbc0b150c290c790c7d0c7e0c%?9a0ca70cb40cd40c0e0d440d720d9a0dcb0d0f0e420e810eb1%?0ed50ede0e050f260f450f600f770f8b0f9c0faa0fb20fb30f%?a90fa50fa60fac0fab0faa0fa30f920f730f4b0f200f3b0f8a%?0f1b0e010ed10d9e0dad0d050e160e8a0ee80e360fa10f5f10%?6910260035004000450044003f002600210027000d000d000d%?000d0001000d000d000d000d000d000d000d0051005d007901%?48034704e507f8070b0933090009f608040916091b091f0926%?0930094209520960096f0980099009a9091b0d290d3b0db30d%?f90d240b5a0bab0bb20bb90bbd0b240c490c6d0c750c800c9f%?0ce20c430d480d840db40deb0d1a0e5c0e8c0eb50ed70ef40e%?130f340f510f690f7e0f900f9e0fa60fa60fa30fa40fad0fb4%?0fb80fb70fae0f9b0f7b0f550f2d0f360fd70ea00e0c0e850d%?dc0ce60c780d0c0e5d0ea30e010f700fa40f621012001a0023%?0031004000400022001f001b0020001b000d000b000c000d00%?0e000f001000110012005a006700a900eb001002f5033206b5%?07c50746085608df07640879087b087d0888088d08b108c208%?d308d708e208fb082a096809a9091f0d2e0d4d0d980dde0d09%?0b360b560bae0bb90bfa0b220c380c550c7f0c8b0cf40c450d%?720d960dd30d0e0e3e0e6b0e9c0ed20ed90e040f250f420f5b%?0f700f830f930f9d0f9e0fa20fa50fb10fb90fbf0fbe0fb40f%?9f0f7d0f550f3c0f0d0fd40e4e0edd0de40cf80bf90bf00cfb%?0d0f0e6b0ebb0e1c0f9d0fa70f140028001400280036003100%?20001f001d001f002c000b000c000d000e000f001000110012%?0014005e006b00d500e800ae02fc033406fa06b707bd07c107%?c507c807cb07ce07d1070908e0074d085a08550853085c0889%?08d30829097309a709db09280d390d7c0da40dbe0ddb0d2e0b%?b50bbb0bfc0b1e0c450c6c0c870c410d470d7c0dbb0d080e13%?0e500e820eb30ed70ef70e150f330f4c0f630f770f880f960f%?9c0fa10fa90fb50fbe0fc30fc20fb70fa10f7e0f510f320f7c%?0f2d0e2b0e940d890cce0bcf0b4b0c570d090e150e7e0ee00e%?360fa00f000012002300120022002f0030002d002300210020%?0032002f000d000e000f001000110012001300140061006b00%?d300170289031b062d0638063e06430648064b06c60641072d%?076807c707ca07cb07cb07cd07d107d60745087108ba081c09%?67099509cf091f0d280d2e0d350d3c0dff0db10bb70bfa0b22%?0c490c820c890c430d660da10ddd0d0e0e3f0e6c0e9e0ed30e%?d90eff0e1f0f3c0f540f6a0f7e0f900f9f0fa00fac0fba0fc2%?0fc60fc50fbb0fa40f800f500f2a0f040fc60e0e0e600dab0c%?db0bbc0b2a0c1e0d850d0e0e140ea00e010f600f0d000e000d%?000e001d002b003500370031002300230033002f0010000d00%?0e000e000f001000100011005f006900740151024303f7031f%?0627062d063206350638063b063f0645064b06c806bb07bd07%?bf07c307ca07d107d707ed078108e1081c095809a4091d0d23%?0d2a0d310d390d0f0bb00bb60b000c2e0c490c850cf00c470d%?8a0dc60d050e2e0e590e890eb10ed70edc0e080f2a0f450f5d%?0f730f880f9f0fa00fb00fbe0fc60fca0fc90fc00fab0f890f%?580f2e0f060fcd0e050e600dd70c730c310c810ca20c850cfd%?0c110e6d0ec60e230f0d0002000d0002002400110023003600%?3f0028002400340048003100120014001500170019001a001c%?001e0058006e007e0132022403e603ef03d504120512051005%?0e0511053c0536063d06410645064906f00625075207cb07d2%?0716086308a108e20827097509ad09c609e0092e0d9e0d300b%?ab0bcf0b050c340c8a0ce50c440d7c0db10deb0d140e480e75%?0e9a0eb60ed80ef00e160f350f4f0f670f7e0f910fa00fb20f%?c00fc90fce0fcf0fc80fb70f9a0f6e0f720f8c0f1b0e0f0e8a%?0d2f0df20cf70c290d930cae0bb30b0f0e440e8e0ee90e0d00%?0d000d000d0005001c0005001b002f00290028002900410040%?001e002000240028002c002f00330037003800570097007e01%?9302dc021d03da03e003e503e903ed03f303fb03040424052e%?063306390640064806dd063d07c607cc07d3073c087908b908%?f80837097809b609240d370dd90d540bb10bc90b240c7f0cdc%?0c400d4e0d9d0ddd0d100e3d0e660e880ea70ec20edd0e030f%?260f420f5c0f730f8b0f9f0fb00fbe0fcb0fd30fd70fd50fcb%?0fb60f930fd20f920f890f170e0e0ec90d790d740d850d5a0c%?eb0bee0b0d0e130e420e900e020017000200160020001f0021%?00220033001b000d000d000d000d000d000d000d000d000d00%?680099003501e301ef013302e4021f03e602da03de03e503ed%?03f503fc03f204300530063b064b06da063f07c207c907d007%?200854089a08e4082a097909c9092a0d990d110b6c0bba0b1a%?0c770cd20c0c0d4b0d910dd90d0c0e390e5a0e7b0e9a0eb70e%?d80ef80e190f360f500f680f810f9d0fa00fb50fc80fd70fe1%?0fe70fe60fde0fca0f0f104f102410a30f2b0f150ef40dc40d%?d80d410df00bf00b310d060e150e200e0d000d00000004001b%?0003001a002a001f0021003200300005000d000d000d000d00%?0d000d000d000d000d0065009200d1001c019501e60119022d%?024c026302f8022903de03e603ee03f803040464053a068906%?d00612076a07bf07ce07e70747089708e4083709af091f0d84%?0dd90d440bb00b0c0c780cc20cf70c470d7f0dcb0d080e350e%?500e720e920eb50ed60ef10e0d0f2b0f450f5d0f740f890f9f%?0fa30fc10fda0fec0ffa0f041009100d1056105a1061105010%?0d10340f670e1b0e170e8d0ea30e100ec30df40de70d140e00%?0002001200010012002700260020002000300019000d000d00%?0d000d000d000d000d000d000d001300600066006c00a100b1%?00dc00ef01f4012f0258025d026302f7023403e703f6030604%?30063a0642069106e0062f079007cc070d084d089d08f50873%?09130d290dae0d190b7a0bbd0b7a0cbb0ce70c230d5c0dbe0d%?090e320e460e690e8a0eae0ed50edb0e000f210f3b0f520f68%?0f7e0f8d0fa10fb60fd70ff20f09101e103010441063105e10%?7d10821057101410950f900f130f860ff10f230f100eec0de2%?0de30d000000000d001e000d001e0027001f001f0030002f00%?1b0006000d000d000d000d000d000d000d000d004a005b0061%?0067006f00a300d5006101ec011d02300254025b0265021f03%?8003fb032606310638063f064f06c2065407bf07fe070f0832%?088408030994091b0d720de80d540bba0b780cb50cd40c0d0d%?4e0d9b0d0b0e0f0e3d0e5e0e810ea30ebf0ed90ef80e180f31%?0f490f600f750f890fa00fa50fcd0ff40f11102c1048106510%?681083107410691086105c1056109c0f960f900f990e730e12%?0ee00dd80de50d000000000000140021001400210020002000%?2b00320032002e00170005000c000c00090009000900090009%?0007001400280067006e00cd00d100d400e501e801ee011402%?3d02e1027b03f203d7048905c205e2053f0653063207c107c7%?07cd07d407dc0774081209b909280db00d250bb70b760ca00c%?c50c060d480d4f0dc70d0c0e360e520e770e980eb90ed70ef4%?0e0f0f290f420f590f700f860f8f0fa40fc40ff10f12103210%?511068107e1089108c1083107710921060102b10a10f990f28%?0e1e0e150ed70ddc0ddb0d0d0000000d001700090016001a00%?1d001c002d0038002c002a0018000c000d000c000c000c000b%?000b000b000b002100640069008c009e00cc00ce00d1004901%?9301f9016102d803e803f503a10421058505df054206dd06bb%?07c107c607cc07d307dd0785083e091b0d390df70da00b0c0c%?7c0cb90cf70c460d4c0dae0d080e320e470e6c0e8e0eb50ed5%?0eef0e060f220f3b0f540f6b0f830f900fa30fc20fed0f0f10%?30104e106810751082108d108f1089108210791063105d10a1%?0f980fba0e1c0e140e120eda0d00000d000c0009000c001500%?15001a0021002a002e0025002200170011000f000f000e000e%?000d000d000d0012005d00660068006a009000c600c900ce00%?d700f10132028703ac03e903f403920419059a0534064406ff%?064d075d076d077b07d407f107e208a3092d0dc90d5f0bbb0b%?550c990ce50c170d4a0d960d0d0e0f0e3e0e610e830eaa0ed3%?0ed90efc0e1a0f350f4f0f670f830f9f0fa10fc10fea0f0b10%?2b1048105e106a106c107c1088108d108b1085108d10631030%?10ce0f970f0e0fb40e1a0e1b0e000009000500090005000f00%?1500150019002000240024001f001c00160012001100100010%?000f000e000e000d0035004b004500660071007e008600c700%?d000dc00f7015e02d203dd03e803f203aa043b05b705370671%?06ae06df0613074f076a07e2078a087a09220da60d1c0b970b%?ef0b7f0cca0c050d470d4e0dc60d0e0e350e540e780e9b0ebc%?0ed80ef60e140f300f4a0f640f820f9e0fa10fc10fe80f0610%?24103e1052105c106810691076107f10861086107e107e1063%?105d10ea0fbf0f930f8e0f8d0f000008000300070002000900%?0f000f00110014001b001c001a001800170011001300120011%?00100010000f000e002a0061004c0063005800580068008200%?9000d600f001550260026a02dc03e7034204d1044f05e30537%?068b06a706dd061e075d07df0773084809170d360dec0d6a0b%?be0b5d0c940ced0c140d4c0d9b0d0d0e130e450e6c0e8e0eb4%?0ed40ef40e0e0f2c0f470f620f820f9e0fa10fc40fe60f0210%?1c103310461054105b10671068106c1074107a107b1077107d%?10691061105a101710f40fff0f00000d000600090006000d00%?140018001d001d0025002a002e00300030002d0012000d000d%?000d000d000d0004002b004f00600059004a004b0056007a00%?b100e800620120021b026102d303fb032a045d04c4045e0527%?063d068e06b706fe065607d00760080809a4092c0dc10d490b%?950bc20b7f0cd40c060d4c0d510dcc0d100e3a0e600e840eaf%?0ed50ef00e090f290f460f610f820f9d0fb20fc70fe30ffd0f%?15102a103b10491053105a105f10641069106a107210771070%?10601054105610421020100b10000004000700040007000d00%?130018001b002100220027002a002e0030002e002b00140003%?00080008000500130029004c005c005f00560059005c007400%?a400cd00d400ec01130258026f03d303d303ea030304cd047e%?0535063f069f06e1065407c3074b08cb087d091c0db00d1e0b%?690bbd0b7a0c980cf20c180d560db50d0d0e350e520e780ea5%?0ed30eda0e020f270f440f610f820f9d0fb20fc50fe00ff80f%?0e102210331041104c1054105b106110631068106910701072%?106a1059103f101d100010fc0f04000900040008000e001400%?19001e00220027002b002d003000340033002f00250017000d%?000e0014002100300041005200590059005f0060006f008e00%?b900d400d600ed01f601fe0160021c036403ea030404d50480%?0537064106ba062707b20719088f084509070d820df10d530b%?b90bc30b800ce10c140d5c0da60d010e250e420e6b0e970ebb%?0ed90efe0e240f420f600f7f0f9d0fa20fbf0fdb0ff30f0910%?1c102d103b104710501057105e1063106410681068106c1069%?105f104f103d103010331002000800010007000c0011001600%?1b0020002500280029002d002f002e0030002a0025001d001c%?002100290035003f0048005200580058005d0062007d009f00%?a600cf00d7008101f30118025d02d6024303b4031e04cf0476%?0537064706eb066b07cb074f08f208a909360dcd0d480b850b%?c00b7e0cd40c0d0d540d960de60d0d0e370e5b0e890eb20ed9%?0efc0e1f0f3f0f5d0f790f8e0fa10fba0fd70fee0f03101710%?2710361042104b1053105a105f106410651068106810671063%?105d105510511058100b0005000d00040008000d0011001600%?1b002000240025002700280028002c002e002c002900280029%?002e0034003b00400042004300460054005e006e007e008800%?8b00cf0012017501ac01f6013c02ce023c03b0031604e004a5%?053a06ab061507bd07d907a5086e092b0dd40d5a0bb40b090c%?7c0cd00c090d4e0d850dd30d090e2e0e4c0e7d0ead0ed70efb%?0e1b0f3a0f580f740f8a0fa10fb80fd20fe90fff0f12102310%?31103d1047104f1056105c1061106510671068106810691066%?10661067107010010005000800040008000c00110015001900%?1d001f0021002100210029002f00310030002f002f00300033%?00370039003b003c003f0053005e006b007000750069009a00%?cc00150151018d01f5013c02d6023c03de0348042805230643%?06e4064c07d20785086109270de80d9f0bb50b1d0c790ccd0c%?090d4a0d7e0dc40d060e100e430e760eaa0ed50ef90e170f36%?0f540f6f0f880fa00fb70fcf0fe60ffb0f0e101f102d103910%?44104c1054105a105f10631066106910681069106d10721076%?107e100d0002000d000100050009000d00120016001a001e00%?200022001e0024002d00300031003200320032003400350036%?00360037003800470054005d0059005e0053006700a700c900%?05014801a80122025a02db026303ea03b8047b053c06df065d%?07dd07bf0888092a0df60da20bfc0b230c7e0cd70c160d490d%?7d0db70de80d0f0e400e730ea90ed40ef90e140f330f500f6b%?0f860f9f0fb70fcd0fe40ff90f0c101c102b10371042104a10%?521058105d1061106510681067106b106f1078107e10871000%?000b0003000d00030007000c001100150019001d0020002200%?1d00220027002b002e00310031003400340034003400340033%?003300360040004600440044004400540066009600c800f700%?5901ed0124025c020f03dc03040432053406fc06b0073908f8%?080c0d300df80d960b0e0c360c820ce00c3f0d4b0d860db80d%?e30d100e410e730eaa0ed30ef80e100f2f0f4b0f670f840f9e%?0fb70fcc0fe20ff70f0d101b102910361041104a1051105710%?5c1060106410671066106b1070107b1083108d1000000b0001%?000b00010005000d001000140018001c001f001f0019001c00%?1f00230026002a002f003000300033003400330032002f002c%?0029002700270029002f003b005f0064009800c800ce005f01%?ef015502d9024703fc0308053206ec06ca0782083109c10936%?0df90d9f0b190c750c860cf20c420d720d940dc00de70d110e%?400e710eab0ed40ef40e070f260f440f610f7f0f9c0fb10fc8%?0fe00ff50f09101a102910361041104a10511057105c106010%?6410671067106b1072107d1087109110000000000b0005000b%?00040008000d001100150018001a0019001300150018001a00%?1c001e00220026002a002f003000310031002f002900250021%?001d001b001c0022003500600063008900c700cf0079011202%?dc024f03f7030805db055206d007a3085a09c3093b0dfa0da8%?0b220c7a0cc10cfe0c420d790d9e0dc60dea0d110e3d0e6b0e%?9f0ed20ed80efb0e180f380f570f750f8f0fa40fc10fdd0ff3%?0f071019102910361041104a10521058105c10601064106610%?69106f10771081108b1095100b0004000b00040007000b000e%?0011001300140013000d000f00110012001200110013001700%?1e0026002b002e00310031002c0024001e001900140010000e%?0015002e00590061006600a700d1000c029802d703f2030d05%?31065106d207db089e09230d550d090bae0b260c7b0ccd0c0b%?0d460d7b0da40dc90dec0d0f0e380e620e8c0eb30ed40ee90e%?070f2b0f4d0f6c0f850fa10fbc0fd90ff10f07101910291037%?1042104c10531059105e106210651068106d1074107c108510%?8f1099100b000c000b000b000300060009000c000e000f000f%?000d0007000d000b000c000b000d0009000e0015001c002300%?28002e0030003000280021001b0014000c0004000d00060019%?002e005f006500a100d800fa01d20340041a052b06ee06d207%?0309050d4e0d930d1b0bb40b1b0c7e0cd00c0e0d470d7c0da5%?0dca0dec0d0e0e340e590e7d0e9e0ebe0ed80efc0e200f450f%?650f820f9f0fbb0fd70ff10f07101a102b10391044104e1056%?105c106110671068106c107210791081108a1093109c100000%?0d0001000900010002000300040005000400010007000d000d%?000b000900090009000b00100017001f00240028002c002e00%?2e002a0027001f00110002000d000d000d000d002a005d0057%?005200e400ea02e303250506060d07c507f508ff091f0dab0d%?230bb20bc00b7e0cce0c0d0d460d7b0da10dc60dec0d0d0e32%?0e530e750e940eb40ed50ef80e1b0f410f620f810f9f0fbc0f%?d70ff10f08101c102c103b104710511059106010671068106d%?10711077107e1086108e1097109f1000000800090008000900%?0d000d000d000d000800060005000d000d000d000d00090009%?000d000c0013001a001f00230027002b002f00300030002d00%?1b0008000d000d000d000d000d004b0032004000db00a601da%?03f204e905e606c507b4085b09150d860d170b7c0bbd0b7b0c%?c60c040d3f0d770d940dbc0de90d0d0e2f0e4a0e6d0e8e0eb2%?0ed40ef90e1b0f400f610f820f9f0fbd0fd80ff20f09101d10%?2e103d10491054105d10631068106d10721077107d1083108b%?1092109a10a210000008000900070009000900080008000800%?040004000300070009000b000d000800070009000d000f0014%?0019001d00230029002f003500380031002600140003000d00%?0d000d000d000d000d002e0078004001ce03810449053606b7%?07cf07df089809270de10da30bee0b770c800cfa0c310d6f0d%?7b0da60dd60d0d0e110e400e620e870eb00ed40efb0e1b0f3f%?0f600f810f9e0fbd0fd70ff20f09101e102f103f104c105710%?5f1067106910711078107c10821088108f1096109d10a51000%?00070007000700060005000500040004000300030002000400%?0600070007000500050007000d000d000f00110016001c0025%?002d0034003700320031002400170010000d000d000d000d00%?0d0034007600d9009202d503230454053c06bd072f0806091d%?0d2f0d390baf0b370c7a0cbb0c3c0d480d660d880daf0ddc0d%?0c0e2b0e520e7c0eac0ed40efc0e1a0f3c0f5b0f800f9e0fb9%?0fd10fee0f07101c102f103f104c105810611068106e107510%?7b10811086108c1092109910a010a6100d0000000d0000000d%?0000000d000d000d000d000d000d0001000200020002000200%?030004000600090009000d000f00160020002a003200370038%?003200310030002700210004000d000d000d0009005d00ba00%?dd00a4014003ee03e1043f06c207db075209200d050b850b07%?0c630c1e0c800c000d430d5c0d860da60dd30d0b0e390e6a0e%?a50ed20efc0e160f360f530f740f9b0fa20fc90fe80f021019%?102c103d104c10581061106910701078107e1084108a108f10%?95109b10a110a7100000000000000000000000000000000000%?0000000d000d000d000d000100010001000100010002000300%?04000500070009000d0012001c0027002f0036003900370036%?0032003200350021000d000d000d000d002a0074008600dd00%?49011402ef030b044406c807f808150dd30d9e0b7e0bb10bb5%?0bc10bca0b860c400d450d4d0d840dce0d100e530e950ed20e%?fa0e0d0f2b0f450f600f820f9f0fbf0fde0ffc0f141028103a%?104a1057106010691070107910801086108c10921097109c10%?a210a71000000000000000000000000000000d000d000d000d%?000d0001000100010001000100020003000300040006000900%?0b0011001b0025002e00350039003b00340033003400310024%?000d000d000d000d000d003a008000a800ae00f1001602f303%?1004b207ce07020d150d8b0de40d390dfa0d3a0bbe0b210c82%?0c880cfa0c490d4f0d0d0e120e6f0ed30ed80e010f190f300f%?3c0f540f9d0fa20fd40ff30f0c1021103410461055105f1069%?1071107a10811088108e10931098109d10a110a61000000000%?0000000000000100000000000d0000000d0001000100010002%?0002000300030004000500070009000d0013001c0025002d00%?34003900380034003300310030001b000d000d000d000d000d%?0004004b00ab00fd009b00f3001902f803a805b707cf07f308%?7709b009270d3e0ded0d670bbb0b140c7f0c860ce00c2f0d51%?0d0d0e150e940ed40ef50e020f100f990ee10e0e0f9e0fcc0f%?e40fff0f16102b103f1051105e10681071107a10821088108e%?10931098109c10a010a4100000000000000000000001000000%?0100010001000100020003000400040005000500060008000d%?000f0015001d0025002d003400390038003300320032002c00%?19000d000d000d000d000d000d0017006300c200aa00e200aa%?01e003fc03e6050207c207fc07e30889091f0d980d050b990b%?ba0bc20b7e0c860cdb0c4b0d550d120e720ed40ef10ee90ef1%?0ed90efb0cdf0e990fa00fd40feb0f05101e1036104a105b10%?671072107a10821088108e10931096109a109d10a110000000%?00000000000000000000000100020001000200030004000500%?060007000800080009000c00100015001c0024002c00330039%?0038003400320032003100270003000d000d000d000d000d00%?0d0026006f00ad009d00e300e802e2036904be058f06b60723%?080409050d550dbf0d180b6d0bbc0b1e0c820c8a0cf80c510d%?0f0e170ed10ed30ed50ed80ed10e830b460ddf0e9b0fa20fd4%?0fef0f0d1029104210561066106e107710801087108d109110%?9410971099109c100000000000000100030001000200040005%?00070008000900090009000d000c00100015001b0023002a00%?320038003b003a0039003a003c002f0010000d000d000d000d%?000d000d000d002c007100b200e300e500ac01de0334046805%?7c06b507e2073409f109610dc00d3c0bb20b1a0c400c8f0ce6%?0c4e0db30d140e830ed00ec70ed90eca0ef80bee0cd80e3c0f%?9a0fb80fd80ffa0f1c1039104f105f10681074107d1085108a%?108e1090109210941096100000000000000300050002000500%?0700080009000d00090009000d000b000e0013001900200028%?00300036003b003f00410040003d00310018000d000d000d00%?0d000d000d000d000d0031007800b500cf0035017a014303f1%?03b1045206c507bb085909fe09790d230ba90b240c480c8a0c%?e50c4b0d550d120e6d0ec10ecd0ec80ec60ec30ec90e730e1f%?0f720f9e0fc70fea0f101031104910591067106f1079108110%?86108a108b108c108c108d1000000000000003000600020006%?000800090009000d000d00090009000d000c00110016001d00%?25002c00330039003d0041004100340032001d0002000d000d%?000d000d000d000d000d00060038007700c5000d0134014901%?010258030b04ad07c907e1089209170dee0da90bb80b780c85%?0ce20c490d530d100e550ea40ecd0ece0ea60e8a0e960ebd0e%?110f640f9b0fbd0fdc0f07102b104510571063106a1073107b%?10811084108410831082108210000000000000000000000000%?00000400070003000700090009000d000d0009000900090009%?000d000d0013001a00210028002f0035003a003e003f003900%?320021000c000d000d000d000d000d000d000d000d000d0038%?007000b800f50009011b015a010c030d04af07c807dc080e0d%?230d180bb10b730cc30cde0c470d980d0e0e1e0e880edf0eca%?0e960e5f0e850ecd0e1a0f5f0f990fa10fd20ffe0f25104110%?541060106610691072107a107d107d107a1077107510000000%?00000000000200040001000400080009000d000d000d000900%?09000800080008000d000f0015001c0024002b00310037003a%?003c003a0033002700180007000d000d000d000d000d000d00%?0d000d0014003b006d00a600e8001f0100015901c1020b04a9%?07c107d9070e0d270da60b6b0cb80cee0c390da50dcf0d190e%?6d0ecb0ed00ec40ea40ec00ef40e2a0f570f7c0f9e0fc10ff0%?0f1b1039104e105b1062106810691072107510741071106f10%?681000000000000000000000050009000400080009000d000d%?000d000900080007000600070009000c00110017001e002600%?2d0032003600390038003500310026001b00100015001f0014%?000d000b00060001000d0020003d005c007c00b500f600a700%?fa002202fe0318043404d707120ddb0dac0b710cec0c3f0da2%?0dc50d130e5f0ea70ed10ed20ed30ee30e0c0f330f500f680f%?870fa60fdf0f0d102b10421052105c10611068106b106e106d%?106e1067106710000000000000000000000500010005000900%?09000d000d00090009000800060006000700090009000c0011%?001900210028002e0032003600370036003200310030002700%?2e002e0030002800270025001c001c0026002d0031003b0055%?008e005500db0074011202e2020e042906da07180d9b0b280c%?740c360d420db20d080e140e770eba0ed40ee00ee50e060f25%?0f340f470f630f990fc30ff40f1710301041104d1056105e10%?64106e106d1065106410581000000000000000000100000003%?0007000300070009000d000d000d0009000800060005000500%?05000600080009000b0014001c00230029002e003200340035%?003500320034003200330032003c003f003d0036002a002700%?2b002600280027002e00360019003b007400e000060200030e%?04ba07fc091b0d230b640c750c370d970dbe0d0d0e140e820e%?ce0e950ea50ed50ed70e190f170f270f750fa20fe10ffe0f16%?10291035104110481052105e105d1053104910431000000000%?00000000000003000600020006000d000b000c000b000b0009%?000700060005000400030003000400060009000f0018001f00%?24002a002e003100330034003600330034003500350038003b%?003700330031002f002f002a0028002a002a001f000d000d00%?3400c700da00040244031204bd07f708160d3c0b240cae0c37%?0da40dc50d090e0e0e470e140e770c130ec90ecc0e760ed60e%?3a0f9b0fc50fe00ff20f05100f101f1026102c10391037102c%?1027102a100000000000000000000000000500010004000700%?09000900090008000700050004000300020002000100020004%?0009000d0013001a002000250029002d002f00320033003200%?32003300330036003a00380033002d0026002300260027002f%?002d0028000d000d000d003200c500db00ae015803d405b707%?d5073d098d0bec0b900cf40c3c0d680dff0d010e7f0d960d01%?0e010e050ef00b510ee50e610f960fca0fe10fe30fde0fef0f%?f90ffd0f03100310031005100b100000010000000000030001%?00020001000300050006000700070006000500030002000100%?0100010001000100040008000d00100017001c002000250028%?002b002d002f002f0031003100320033003600350032002e00%?29002600260026002e0039002d0011000c001e002b0032006a%?00e0005801c1020d042504c307de07f707930bef0b6b0cb30c%?360d940df50def0dd70deb0dd30b190d530c9f0edd0ef10e96%?0f9a0fa50faf0fd90fd40fd10fd40fd60fd40fd40fe00f0000%?000001000b000b000d000d000c000c00010002000400050005%?000500050004000100010001000d000d000d00010003000700%?0b000e00130017001c0020002400270029002b002c002d002e%?002f0031003300330031002e002c00290029002a002d003400%?2c002c0022001d00090027004d008800ac00fb006a01600256%?03b203de06da07b5098d0be80b290cb60c0d0dad0dd50dd20d%?b90bc30bcf0b170e650df10d790eda0eea0e9a0fa50fa20fb2%?0fa40fa40fa50fa50fad0f000000000d000d000d000d000000%?000002000100010002000300040004000300030001000d000d%?000d000d000d000d00010004000d000d000f00130017001b00%?1f0022002500270029002b002c002e0030003100320031002f%?002d002b002b002c002f0030003800280022000c000b001a00%?5600a800f200c200c100c6003a014a02c302bf038d062107b0%?098a0bbc0b300c920cb50c000c1b0bd30d830be90b600de60b%?5a0d490ec00ede0eeb0e420f980fa00f6e0f720f7d0fa50f00%?000e0000000d0000000e00000008000d0007000d000d000100%?01000100010001000d000d0007000700070007000d000d0002%?0008000d000d000f00130017001b001e002100230026002800%?2a002c002e00300030002f002e002d002b002a002c002f002e%?002500200002000c000c00100032006b009e00c600df00cf00%?5900e600f7008401270289024e06d207e3077b09790b770bf1%?0df90d0c0b620bda0bc50bd70b020ef60d6a0e900ec40ee10e%?dd0ee70e270f340f490f670f00000e000e000d000e000e0009%?000800090007000d000d000d000d000d000100010006000700%?060006000700070007000d000d00050007000d000d000f0013%?0016001a001d001f0022002400270029002b002c002d002d00%?2c002b002900290029002c002a001f0009000c000d000c000f%?002c00400041003c002b002300250006001c007a0060000e01%?62022b03d8025503f805a1088a092f0d6f0b540bb80bd30b37%?0da00d330e500e600e7a0e780e850eaf0ee20ee30e100f250f%?000000000d000d000c000d0000000900000008000800070008%?0008000d000d000d000d000d00060006000600060006000700%?070007000d000300040007000d000b000e001200160019001b%?001e0020002200240026002800290028002800270026002600%?2600270026001d000d000c000d000c0017002500240008000f%?00110011000f000e004800ad00d1004a00e700f90006012201%?ad014203a403af07f7086e0b1d0b430c310df70df60d0c0e11%?0e2b0e240e210e700e9c0ed60ed90ee80e00000d000d000d00%?0d0000000d0004000d00040004000000000000000d0001000d%?0001000100060006000600060006000600060006000d000200%?03000500070009000d000e0012001500170019001b001d001f%?00210023002400240023002300230023002300230021001c00%?120007000e0005001d00230015000d001000110011000f000f%?000d000d000b00050008000b00070015002b00fe007f016802%?3c039a06820dbc0b260d3b0dc80dd30dc70dda0ddd0d110e21%?0e5d0e7a0e900eae0e0000000000000d000d000d000d000d00%?0000000000000000000000000000000000000d0000000d0001%?0001000d000500060006000600060006000600060006000100%?02000400060007000d000d000f00120014001600170018001a%?001c001e001f001f001f001f001f001f002000200020001d00%?18001300110014002500260016000e0010001200120010000f%?000d000d000d000d0008000b003000670088005c0085008f00%?1a013d024c041c08a80b2b0d3b0d560d510da50db20dc80d19%?0e1b0e1e0e490e670e000000000d000d000d000d000d000d00%?0d0000000d00000000000000000000000d000d000d000d000d%?000d000d000500050005000500060006000600060006000100%?020003000600080009000b000d000f00110012001300140014%?00170019001a001b001b001b001c001d001e001f0020002000%?20001f00210026002e002f0020000d00110013001300100010%?000d000d000d000d0008000b00070017002e008d00c9008b00%?960034000f02c6058c0bae0bc20c100d470d5e0d630d840dbe%?0ddd0d120e150e2e0e00000d000d000d000d000d000d000d00%?0d000d000d000d000d000500050000000d0000000d00000000%?00050005000500050005000500050005000500060006000100%?02000300070009000d000b000c000d000f000f001000100011%?0012001500160017001700180019001b001d00200022002500%?29002c00310037003a003400310025001e002300350027000f%?000d000d000d000d00150026001f001e000d000c000c004700%?75000d0065017403ec07980b660c920cf20c240d360d540d73%?0da20dc50ddf0df90d0d000d000d000d000d000d0000000000%?0d000d000d000d000d000d000d00050006000d0001000d0000%?00000000000500040004000400040004000400040004000400%?04000d00010002000600090009000d000b000d000f00100011%?0012001300150018001a001b001c001d001f00210023002500%?270029002a002e00320036003b00380033002d002a002a0036%?003a0027000c000d000d000e00220027002900200015000c00%?0c000c001c000d00c0000f03d507860b160c3f0c6d0cb70cf7%?0c1f0d3a0d470d8c0db20db00d0d0000000d0000000d000000%?00000d000d000d000d0000000d000000000000000d000d000d%?000d000d000d000d000d000d00000000000400030003000300%?030003000d000d0001000300060009000d000b000d000e0010%?001100120014001500170019001b001d001f00210023002500%?270029002a002c002e00310035003a003900370031002b002a%?002b00340030002d002b0027001600140026001e0013000d00%?0b000c000c000d0017003701dd03c007f509700bd50b560c62%?0ccd0cea0cfb0c3c0d440d790d680d000000000d0000000d00%?00000d000d000d000d00000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?09000d0009000d000100050009000d000b000c000c000e0010%?00110013001400150017001a001c001f002100230025002700%?280029002a002c002e003200370037003700340032002a002d%?0030003400330030001e000d000b0008000c000d000d000b00%?0c000b000d002700a500ea02a9075d092f0d270ba50b580c6d%?0ca90cd40cfa0c3f0d420d430d0d0000000d000d000d000d00%?0d000d000d000d000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?0000000000000600010005000d000d000b000b000c000c000d%?000f001100110012001400170019001c001f00210023002400%?25002600270028002a002e003300340035003300330032002f%?00300033003700280008000d000b0008000b000d000d000b00%?0b000b000d001c005800df018e07bc07fe08fa090f0b970bae%?0b760c8c0cc30cfe0c360d2a0d0d000d000d000d000d000d00%?0d000d000d000d000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?0000000000000d00010009000d000d000b000b000c000c000c%?000d000e000e000f0010001200150018001b001d001f002000%?2100220022002300250028002e002f00320031003100310033%?00350033002e0019000d000d000b0008000b0001000d000b00%?0b000b000d000d0007008e00a702da05c2070d09ca09a10da1%?0bb60b2f0c740cb10ce70cfa0c0d000d000d000d000d000d00%?0d000d000d000d000d00000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?000000000d0005000d000400090009000d000d0008000b000b%?000b000b000b000b000b000c000f0011001400160018001a00%?1b001c001c001c001d001e00220027002a002d002c002d002e%?002f002f0028001d0006000d000d000b0008000b0002000d00%?0b000b000b000d000d000d003200fa006002a107b6070709b0%?09990d4d0bad0bf60b780c7e0cbb0c0d000d0000000d000d00%?0d000d000d000d0000000d0000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000d0001000900090009000d000600010002%?000200020001000100050006000b000c000d000e0012001300%?14001600160016001500150017001a00200023002600270028%?002900280026001d000f000d000d000d000d0009000b000300%?0d000b000b000b000d000d000d000d0052002f0166039b0767%?08e108bd09890d1e0bb00bbc0b780c740c0d000d0000000000%?0d0000000d000000000000000d0000000d0000000000000000%?00000000000000000000000000000000000000000000000000%?000000000000000005000d0004000900090009000600010001%?000100000001000000010002000300010002000e000d000d00%?0e000e001000110011000f000f000f00130018001c001f0020%?002100210020001d00130005000d000d000d000d0009000b00%?04000d000d000b000d000d000d000d000d0009009e005602be%?05ad07ed070709d709870d380bb10b180c470c0d000d000000%?0d0000000d000d000d000d000d000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000070001000700090009000900000000%?0000000000000000000b0000000d0002000000010007000300%?06000d0008000c000c000b000d00090009000d001100150018%?00190019001900180015000c000d000d000d000d000d000900%?0d0005000d000d000d000d000d000d000d000d0009003e001b%?015a020f04b207b1082709df09a50d920bb00b200c0d000d00%?00000d000d000d000d000d000d000d00000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000050007000400060009000900010000%?00000000000000000000000000000000000000000000000300%?000002000300020002000200050003000400080009000d000e%?00110012001200120012000f0008000d000d000d000d000d00%?09000d0006000d000d000d000d000d000d000d000d00090009%?004a007b01f4039e07d6079a082b09cd09a80d890b9c0b0000%?0d000d000d000d000d0000000d000000000000000000000000%?00000000000000000000000000000000000000000000000200%?09000200090005000100010000000000000000000100010001%?00010001000d000d00010006000d000d000c0009000c000d00%?0b0006000d000d000d000d000d0009000d0007000d000d000d%?000d000d000d000d0003000900090009005200bd016d03b007%?f2076f08d2087c09450dd60d00000000000000000000000000%?000d000d000d000d000d000d00000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000d0009000d000800040001000100000000000000%?00000b000d000d000d000d0009000100010001000400090009%?000900090009000900080001000d000d000d000d0009000d00%?08000d000d000d000d000d000d000400060009000900090007%?00a80039017f04ae07600709087a080609b00900000d000000%?0d00000000000d000d000d000d000d0000000d000d000d000d%?0000000d000000000000000000000000000000000000000000%?00000000000000000000000007000600070006000100010000%?000000000000000d000d000d000d0001000100010001000300%?0500090009000900090001000d000d000d000d000d000d000d%?000d000d000d000d000d000d000d000d000d000d000d000d00%?6d0052012703d505aa07b7071c08b0080d000d000d00000000%?0000000d000d000d000d00000000000d0000000d000d000000%?0d000000000000000000000000000000000000000000000000%?00000000000000000001000100090004000100010000000000%?000000000d0000000d00000000000000010001000100010001%?00060009000900090008000d000d000d00070004000d000d00%?0d000d000d000d000d000d000d000d000d000d000d000d0061%?003d010f0270049b07d006b50700000d00000000000d000d00%?0d000d000d0000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?01000000010001000400020001000100010000000000000000%?0000000000010001000100050007000d000d000d0006000c00%?0c000b0006000d000d000d000d000d000d000d000d000d000d%?000d000d000d0046003d0095009001200268067e0600000d00%?00000d000d000d000d00000000000000000000000d0000000d%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000010001000100010001%?0000000000000000000d0000000d0000000100010005000100%?0500040008000e0008000e000b0006000d000d000d000d000d%?000d000d000d000d000d000d000d000d001d000d008c00a900%?5d0268060d0000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000010000000000000000%?00010001000100010000000000000000000000000000000000%?0100000001000100010001000300040014000e000b0006000d%?000d000d000d000d000d000d000d000d000d000d000d002700%?0b000d008b00060171020d000d000d00000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000001000000000000000100010000000100010001000000%?00000000000000000d0000000d000d000d000d000000000003%?00040002000400180024000b0005000d000d000d000d000d00%?0d000d000d000d000d00120016000d000d008300d70057020d%?00000000000000000000000000000000000000000000000000%?00000000000000000000000000000000000000000000000000%?00000000000d000d000d000d000d000d000d000d000d000d00%?0d000d0000000d0000000000000000000000000000000d000d%?000d000d00000001000000010005000300050020000d000800%?01000d000d000d000d000d000d000d000d000d00160012000d%?000d000d007d00f30000000000000000000000000000000000%?0000000000000000000000000d0000000d0000000000000000%?0000000000000000000d0000000d000d000d000d000d000d00%?0d000d000d000d000d00000000000000000000000000000000%?000d000d000d000d0000000000000002000400010003001400%?26000d0004000d000d000d000d000d000d000d000d000d0016%?0016000d000d000d006c00c700000000000000000000000000%?00000000000000000000000000000000000000000000000000%?000d0000000d0000000d000000000000000000000001000100%?01000d000d000d000100010001000000000000000000000000%?00000000000000000000000000000000000000020010000200%?0f001b000d0006000d000d000d000d000d000d000d000d000d%?000d000d000d000d000d005600780000000000000000000000%?00000000000000000000000000000000000000000d000d000d%?000d000d000d000d000d000d0000000100010001000d000100%?000000000d0001000d00010001000000000000000000000000%?00000000000000000000000000000000000000000000000f00%?0d000e000d000d000d000d000d000d000d000d000d000d000d%?000d000d000d00050011001600260000000000000000000000%?00000000000000000000000000000d000d000d000d000d0000%?00000000000000010000000000000001000100000000000000%?00000000020008000100080009000d000d000d000d000d000d%?000d000d000d000d000d000d00040009000d00200000000000%?00000000000000000000000000000000000000000d000d000d%?000d0000000000000002000100000000000100000000000000%?00000000000006000b0006000d000d000d000d000d000d000d%?000d000d000d000d000d000d000d000d000d000d0000000000fclose(fout);cd ('..')cd ('..')disp(' ')disp(' ##  Requires the "presto" toolbox (Denham)')disp(' ')disp(' ##  Unix and PC require these Mex-files:')disp(' ##   from "gridgen" (Evans):')disp(' ##       "mexinside"')disp(' ##       "mexrect"')disp(' ##       "mexsepeli"')disp(' ')disp(' ## To get started, put the "seagrid" and "presto" folders')disp(' ## (and other relevant files) in your Matlab path.')disp(' ## Restart Matlab, then execute "seagrid" at the Matlab prompt.')